JCBproductions 0 Posted ... (edited) Greetings! I've been using Ubuntu for 10 months so forgive me for the Readme not being enough for me to get Hummingbird working. My Eddie gui software is unstable this week and I would like to switch to Hummingbird. I have hit a wall on self-solving 4 problems. Problem 1: can't run Hummingbird with sudo I installed the binary into ~/.local/bin and made it executable. After a restart I can run "hummingbird" from anywhere, then it complains about needing root. Ok, so I run "sudo hummingbird" and then it complains "hummingbird: command not found". Same command not found results for "./hummingbird". Problem 2: Hummingbird needs to run as root Everything I've read about enabling root says don't do it lightly, so I haven't set up a root password yet. I used chmod to change the owner of ~/.local/bin/hummingbird to root. I'm hoping a solution to the next question obviates the nuclear option of activating root and always keeping a root tab open to run Hummingbird? Problem 3: automate Hummingbird to run on startup The options for how to automate this are myriad and I'm overwhelmed right now. Another user on this forum set this up with systemd. Is anyone willing to share the steps they went through to automate launching Hummingbird? Problem 4: Routes The backend my professional org website uses hates all VPNs, so in Eddie I use routing to avoid having to turn off my VPN on a website I have to use frequently. I also use routes for Wikipedia to avoid accidentally getting thrown in Wikipedia jail for editing while on a VPN. How do I set up routes in Hummingbird? Thank you for edifying a Linux tyro (Ubuntu 20.04.1) Edited ... by JCBproductions Specifying Linux version and flavor Quote Share this post Link to post
OpenSourcerer 1442 Posted ... 2 hours ago, JCBproductions said: Problem 1: can't run Hummingbird with sudo I installed the binary into ~/.local/bin and made it executable. After a restart I can run "hummingbird" from anywhere, then it complains about needing root. Ok, so I run "sudo hummingbird" and then it complains "hummingbird: command not found". Same command not found results for "./hummingbird". sudo substitutes a user and does a command while retaining your environment variables. $PATH might contain something like ~/.local/bin as one of the paths to look for binaries, but since you're effectively root when sudoing, it looks in /root/.local/bin, which does not contain hummingbird. Ergo, you get "command not found". The solution is to move that binary to /usr/bin/. 2 hours ago, JCBproductions said: Problem 2: Hummingbird needs to run as root Everything I've read about enabling root says don't do it lightly, so I haven't set up a root password yet. I used chmod to change the owner of ~/.local/bin/hummingbird to root. I'm hoping a solution to the next question obviates the nuclear option of activating root and always keeping a root tab open to run Hummingbird? And it's true, do not enable root without some serious thought whether you really need it, and there are very few cases of need. You did the right thing, or rather, not doing it was right. The solution is to use sudo. It elevates the privileges for one command only and is the safest option. Do not keep a root tab open just for Hummingbird. 2 hours ago, JCBproductions said: Problem 3: automate Hummingbird to run on startup The options for how to automate this are myriad and I'm overwhelmed right now. Another user on this forum set this up with systemd. Is anyone willing to share the steps they went through to automate launching Hummingbird? Actually, there is only one universal option, and it is systemd. You should probably go back to the thread you found it in and try doing the steps there. Don't waste your time thinking about anything else for now. 2 hours ago, JCBproductions said: Problem 4: Routes The backend my professional org website uses hates all VPNs, so in Eddie I use routing to avoid having to turn off my VPN on a website I have to use frequently. I also use routes for Wikipedia to avoid accidentally getting thrown in Wikipedia jail for editing while on a VPN. How do I set up routes in Hummingbird? Indirectly through the config file. Hummingbird, or rather OpenVPN, applies route directives found there. Be advised that this only works with IPv4 addresses. For example, to route an IP like 1.1.1.1 through the ISP connection, add this to the config file: route 1.1.1.1 255.255.255.255 x.x.x.x x.x.x.x is your local IP gateway address. Normally you'd enter net_gateway to let OpenVPN enter it itself, but OpenVPN3 and by extension Hummingbird don't know that directive. So you need to fill it yourself. Enter this command to get that local gateway IP: ip r|grep default|cut -d " " -f3 . Quote Hide OpenSourcerer's signature Hide all signatures NOT AN AIRVPN TEAM MEMBER. USE TICKETS FOR PROFESSIONAL SUPPORT. LZ1's New User Guide to AirVPN « Plenty of stuff for advanced users, too! Want to contact me directly? All relevant methods are on my About me page. Share this post Link to post
JCBproductions 0 Posted ... Quote Actually, there is only one universal option, and it is systemd. You should probably go back to the thread you found it in and try doing the steps there. Don't waste your time thinking about anything else for now. Unfortunately for me, that thread's instructional steps were limited to the user saying they'd done it using systemd. 🙄 I'll take a shot at setting it up myself first then reconvene here if I hit another wall. Thank you for answering the other questions! Quote Share this post Link to post
OpenSourcerer 1442 Posted ... Move the hummingbird binary to /usr/local/bin. Paste this into an editor: [Unit] Description=Connect to VPN at startup Wants=network-online.target After=network-online.target [Service] ExecStart=/usr/local/bin/hummingbird [arguments] /absolute/path/to/config/file.ovpn [Install] WantedBy=multi-user.target Add the [arguments] in the ExecStart line you are running hummingbird with. Edit the /path/… to your config file. If you left it in ~ or some directory in there, you'd have an easier time editing OpenVPN directives. The rights don't matter as ExecStart is executed as root. Save the file as hummingbird.service, move it to /usr/lib/systemd/system. Execute (sudo) systemctl daemon-reload. Execute (sudo) systemctl start hummingbird.service. Check its status using systemctl status hummingbird.service. If it's started, enable it at boot using (sudo) systemctl enable hummingbird.service. 1 CIAOBUBU reacted to this Quote Hide OpenSourcerer's signature Hide all signatures NOT AN AIRVPN TEAM MEMBER. USE TICKETS FOR PROFESSIONAL SUPPORT. LZ1's New User Guide to AirVPN « Plenty of stuff for advanced users, too! Want to contact me directly? All relevant methods are on my About me page. Share this post Link to post
Staff 10018 Posted ... Hello! You can now do that with Bluetit. Configuring Bluetit to connect during system bootstrap is a straightforward, very simple procedure, Furthermore, you will run a real daemon, and not a user process, therefore you have a higher security level. and you don't need a systemd unit that's questionable for a user process. Bluetit can start and connect during bootstrap of both systemd and SysV-style init based systems.https://airvpn.org/forums/topic/48833-linux-airvpn-suite-100-released/ Kind regards Quote Share this post Link to post