home
<script setup lang="ts">
import { computed, ref } from 'vue'
import { data } from '../../metadata.data.js'
import { resolveDownloadUrl } from '../../releaseUtils.ts'
import { useLatestVersion } from '../../useLatestVersion.ts'
const { latestVersion, prereleaseVersion, latestRelease, prereleaseRelease, nightlyRelease, loading } = useLatestVersion()
interface Package {
os: string
arch: string
gui_pkg_tmpl: Record
cli_pkg_tmpl: Record // key: format, value: url
comment?: string
}
function gen_pkg_without_gui(os: string, archs: string[]): Package[] {
return archs.map(arch => {
return {
os,
arch,
gui_pkg_tmpl: {},
cli_pkg_tmpl: {
"zip": `
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-linux-${arch}-v{}.zip`,
},
}
})
}
const packages = ref([
{
os: 'Windows',
arch: 'x86_64',
gui_pkg_tmpl: {
"exe": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_x64-setup.exe'
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-windows-x86_64-v{}.zip'
},
comment: "Windows 7 needs to be SP1 and above, and you need to install the two patches KB3063858 and KB4474419, and disable QUIC input."
},
{
os: "Windows",
arch: "arm64",
gui_pkg_tmpl: {
"exe": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_arm64-setup.exe'
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-windows-arm64-v{}.zip'
},
},
{
os: "Linux",
arch: "x86_64",
gui_pkg_tmpl: {
"deb": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_amd64.deb',
"AppImage": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_amd64.AppImage',
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-linux-x86_64-v{}.zip',
},
},
{
os: "Linux",
arch: "aarch64",
gui_pkg_tmpl: {
"deb": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_arm64.deb',
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-linux-aarch64-v{}.zip',
},
},
...gen_pkg_without_gui("Linux", ["arm", "armhf", "armv7", "armv7hf", "mips", "mipsel"]),
{
os: "MacOS",
arch: "x86_64",
gui_pkg_tmpl: {
"dmg": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_x64.dmg',
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-macos-x86_64-v{}.zip',
},
comment: "After installing the GUI, you need to manually execute xattr -c /Applications/easytier-gui.app, otherwise it will prompt that the file is damaged"
},
{
os: "MacOS",
arch: "aarch64",
gui_pkg_tmpl: {
"dmg": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-gui_{}_aarch64.dmg',
},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-macos-aarch64-v{}.zip',
},
comment: "After installing the GUI, you need to manually execute xattr -c /Applications/easytier-gui.app, otherwise it will prompt that the file is damaged"
},
{
os: "Android",
arch: "arm64",
gui_pkg_tmpl: {
"apk": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/app-arm64-release.apk',
},
cli_pkg_tmpl: {},
comment: "Choose this version for new Android devices. If you encounter abnormal display issues, please try upgrading WebView"
},
{
os: "Android",
arch: "arm",
gui_pkg_tmpl: {
"apk": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/app-arm-release.apk',
},
cli_pkg_tmpl: {},
comment: "Choose this version for older Android devices. If you encounter abnormal display issues, please try upgrading WebView"
},
{
os: "Android",
arch: "x86_64",
gui_pkg_tmpl: {
"apk": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/app-x86_64-release.apk',
},
cli_pkg_tmpl: {},
comment: "If you encounter abnormal display issues, please try upgrading WebView"
},
{
os: "Android",
arch: "x86",
gui_pkg_tmpl: {
"apk": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/app-x86-release.apk',
},
cli_pkg_tmpl: {},
comment: "If you encounter abnormal display issues, please try upgrading WebView"
},
{
os: "Android Magisk Module",
arch: "aarch64",
gui_pkg_tmpl: {},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/Easytier-Magisk-v{}.zip'
},
comment: "Supports Magisk/KernelSU/Apatch. Will start an easytier-core instance on boot. Config located at /data/adb/modules/easytier_magisk/config/"
},
{
os: "FreeBSD 13.2",
arch: "x86_64",
gui_pkg_tmpl: {},
cli_pkg_tmpl: {
"zip": '
https://github.com/EasyTier/EasyTier/releases/download/v{}/easytier-freebsd-13.2-x86_64-v{}.zip',
},
}
])
const all_archs = new Set(packages.value.map(pkg => pkg.arch))
const all_os = new Set(packages.value.map(pkg => pkg.os))
const all_proxy = new Set(data.github_accels)
const channel = ref('easytier_latest_version')
const url = '
https://github.com/EasyTier/EasyTier/releases/tag/'
const filter_os = ref('')
const filter_arch = ref('')
const accel_proxy = ref('')
const vers = computed(() => ({
easytier_latest_version: latestVersion.value ?? data.easytier_latest_version,
easytier_pre_release_version: prereleaseVersion.value ?? data.easytier_pre_release_version,
}))
const currentVersion = computed(() => vers.value[channel.value as keyof typeof vers.value])
const currentRelease = computed(() => {
if (channel.value === 'nightly')
return nightlyRelease.value
return channel.value === 'easytier_latest_version' ? latestRelease.value : prereleaseRelease.value
})
const currentTag = computed(() => channel.value === 'nightly' ? 'nightly' : currentRelease.value?.tag_name ?? `v${currentVersion.value}`)
const currentTitle = computed(() => channel.value === 'nightly' ? 'Nightly' : currentTag.value)
function renderLinks(templates: Record) {
return Object.entries(templates).flatMap(([format, template]) => {
const downloadUrl = resolveDownloadUrl(template, currentRelease.value, channel.value === 'nightly' ? undefined : currentVersion.value)
return downloadUrl ? [{ format, url: accel_proxy.value + downloadUrl }] : []
})
}
</script>
Download
You can directly go to the GitHub Release page to view the download links for all versions, or use the table below to find the version that suits you.
The command line program package includes four executables:
easytier-core: The core program of EasyTier
easytier-cli: EasyTier management program, after starting easytier-core, you can use easytier-cli to view virtual network information
easytier-web: Used for self-hosting the EasyTier Web console backend, generally no need to self-host, you can use the official Web console
easytier-web-embed: Same functionality as easytier-web, but includes the Web frontend.
Switch Download Channel
Stable Version(v{{ vers.easytier_latest_version }})
Pre-release Version(v{{ vers.easytier_pre_release_version }})
Development (Nightly)
Nightly follows the main branch and is intended for testing the latest features. It may be unstable.
EasyTier {{ currentTitle }}
Loading Nightly downloads…
Nightly downloads could not be loaded. Please visit the Nightly release page.
| Operating System |
Hardware Architecture |
GUI Program |
CLI Program |
Notes |
| {{ pkg.os }} |
{{ pkg.arch }} |
{{link.format}}
|
{{link.format}}
|
{{ pkg.comment }}
|