-
-
Save Erisa/4015ae12211434b8f2f64ac1d731b830 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
echo 'NOTE: You can now install cloudflared directly from Termux repos.' | |
echo 'NOTE: To install it from source instead, open the script and comment out the next two lines.' | |
pkg install cloudflared | |
exit | |
# ^ comment out these lines to proceed with the script | |
echo "--upgrading packages" | |
yes "" | pkg update | |
echo "-- installing dependancies: golang git debianutils make" | |
yes "" | pkg install golang git debianutils make | |
echo "-- downloading cloudflared source" | |
git clone https://github.com/cloudflare/cloudflared.git --depth=1 | |
cd cloudflared | |
sed -i 's/linux/android/g' Makefile | |
echo "-- building and installing cloudflared" | |
make cloudflared | |
install cloudflared /data/data/com.termux/files/usr/bin | |
echo "-- done!" |
Hi @srivathsanvenkateswaran,
I didn't really expect anyone to use this little script and I haven't touched it since I first threw it together a few months ago.
The github "link" isn't a real link, just a reference for Go to know where to retrieve the module and which one to build from the repository (https://github.com/cloudflare/cloudflared)
These days because of changes in their build process I would instead recommend cloning the repository (With --depth=1
to save time, bandwidth and storage), installing the make
package as well as the ones mentioned here and running make cloudflared
in the directory after editing the makefile to support Android as a target.
As a script this would be something like:
cd ~
yes "" | pkg update
yes "" | pkg install golang git debianutils make
git clone https://github.com/cloudflare/cloudflared.git --depth=1
cd cloudflared
sed -i 's/linux/android/g' Makefile
make cloudflared
install cloudflared /data/data/com.termux/files/usr/bin
There are prettier ways to handle the Makefile edit, I'm (ironically) writing this from my phone so thats the best I could come up with that works.
I'd be happy to update the script with this method later.
I got an error when trying to run cloudflared
2021-05-17T02:30:30Z INF Initial protocol h2mux
2021-05-17T02:30:30Z INF Starting metrics server on 127.0.0.1:41105/metrics
2021-05-17T02:30:31Z ERR Error looking up Cloudflare edge IPs: the DNS query failed error="lookup _origintunneld._tcp.argotunnel.com on [::1]:53: read udp [::1]:38332->[::1]:53: read: connection refused"
Its working fine for me on the latest version.
In the past I've had that issue when running cloudflared compiled for linux (GOOS=linux
or precompiled binary from their website) rather than for Android (GOOS=android
from source).
This reason is why my short script (Made for my personal use) builds it from source targeting Android.
The lines at the top of your output that look like this
2021-05-17T02:39:15Z INF Version 2021.5.6-dev
2021-05-17T02:39:15Z INF GOOS: android, GOVersion: go1.16.3, GoArch: arm64
Will tell you that information
is there how to install it on windows cmd?
is there how to install it on windows cmd?
You can do that officially with official instructions: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation#windows
Or install Scoop and simply scoop install cloudflared
is there how to install it on windows cmd?
You can do that officially with official instructions: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation#windows
Or install Scoop and simply
scoop install cloudflared
thank you so much
It worked like a charm. Thank you so much.
Good news, it has been packaged for Termux and it can now be installed with "pkg i cloudflared" or just "apt install cloudflared" (termux/termux-packages#9304)
Good news, it has been packaged for Termux and it can now be installed with "pkg i cloudflared" or just "apt install cloudflared" (termux/termux-packages#9304)
Woah!! I had considered trying to get them to do this at one point but never found the time.
Thank you for letting me know! 🎉
Updated the script to notify and install from repos directly, but kept the rest for posterity and in case anyone is curious in future.
Erisa, What is the proper way to run cloudflared from termux. My phone is not rooted. so the
sudo cloudflared service install does not work. Is there another way i can run this as a service from a phone that's not rooted ?
Erisa, What is the proper way to run cloudflared from termux. My phone is not rooted. so the sudo cloudflared service install does not work. Is there another way i can run this as a service from a phone that's not rooted ?
You should be able to run apt update
then apt install cloudflared
or pkg run cloudflared
, don't need root for commands without su or sudo.
The github link specified here is broken. Also, while trying with Termux, the last line
install $GOPATH/bin/cloudflared /data/data/com.termux/files/usr/bin threw me an error : No such file or directory