Table of Contents
Since Starlink provides its clients with a public IPv6, which is globally accessible, we have leveraged this to provide you with easy steps to build a custom OpenWRT image tailored to your compatible Single Board Computer.
This offers a proper and reliable Modem/Router with pre-configured settings studiously assessed for working with the Starlink Dish as plug & play.
The mobile application of StarlinuX will allow you to set up your own free VPN all over IPv6 in a few easy steps and reach your home network while ensuring adequate security you need to surf the net safely.
You'll get two choices to set up your VPN: OpenVPN or Wireguard. The first one works with the APIs provided by the fork project of OpenVPN for Android while the second option, which is faster and more robust than its younger brother, works standalone. StarlinuX is not only oriented to the normal Starlink customers but even to people who want to host their own public server globally as our application has specific feature for managing port forwarding rules. In case you get an ethernet port extender, we’ll be able to set up a proper DMZ, all is up to you!
An IPv6 address is certainly not easy to remember because of its length, that’s why our application points you in a good direction for you in order to set up a free Dynamic DNS, getting a fully qualified domain name to share with
people to you want to reach your game server, or your web page! We tried to raise an application that is far from complex, but feel free to open an issue if you encounter any problem.
One of the main goals of this project is power saving, because StarlinuX replaced the original Starlink router, which has a higher power consumption compared to most of the low-cost Single Board Computer we’re working with.
As a matter of fact, most of the Starlink vanlifer users might be interested in this project as the power is a critical point they used to facing every day when they travel, and that’s now something very reachable.
Just buy the PoE(Power over Ethernet) which powers up all your items from 12v avoiding any A.C inverter.
This project aims to replace the original Starlink router by utilizing a built-in feature of the Starlink app. To enable bypass mode, follow these steps:
- Open the Starlink app and navigate to the Settings section.
- Select the Router options.
- Toggle the Bypass Starlink Router switch.
Depending on your SBC model,check its compatibility and download its official OpenWRT image from the Table of Hardware.
- Clone the repository from GitHub:
git clone --branch master https://github.com/davixdedem/StarlinuX.git
- Download the appropriate OpenWRT image for your SBC.
- Flash the OpenWRT image on the SDCard following the dedicated instructions.
- Power up your Single Board Computer.
- Plug an Ethernet cable into the Ethernet port on the SBC and connect it to your laptop/computer.
- Verify that you can access OpenWRT by pinging its default IP address:
(You may disconnect your Wi-Fi interface in order to be sure to reach your Router via cable)
ping 192.168.1.1
- Navigate to the auto_install directory.
cd StarlinuX/auto_install
- Run the following command:
ssh [email protected] 'ash -s' < First.sh 2>&1
- Now connect your SBC to Starlink in place of the original Starlink Router.
- Connect to the Wi-Fi:
SSID: StarlinuX
Password: starlinux
- Run the last command:
ssh [email protected] 'ash -s' < Second.sh 2>&1 && bash Third.sh
- Once all the scripts have been executed, your new Modem/Router should be configured and connected to Starlink, you can now use our Android application!
- Build your own pre-configured OpenWRT image following the instructions.
- Download the StarlinuX application from the latest Releases .
- Install it on your Smartphone.
- Connect it to the StarlinuX Wi-Fi using the following default credentials:
SSID: StarlinuX Password: starlinux
- Open the app, you're in!
- Operating System: Android 13 (API Level 33)
- Processor: ARMv8 or equivalent
- RAM: 4 GB or more
- Storage: 100 MB of free space (for app installation and data)
- Screen Resolution: HD (720p) or higher
- Network: Wi-Fi and Mobile Data
- All the SBCs listed here: Table of Hardware.
1. First of all, be sure you've already installed OpenVPN for Android on your Smartphone.
2. In StarlinuX, go to the Virtual Private Network(VPN) section.
3. Slide the configuration button, StarlinuX will take a few minutes to configure OpenVPN depending on your SBC efficiency.
4. Once is done, turn off your Wi-Fi connection and use only your Mobile Network.
5. Slide the activation button, your smartphone will be assigned a local IPv4 address.
6. Congrats, you're a virtually home!
7. For disconnecting, slide it back.
- From your Smartphone:
- Once you're connected to the VPN,try to open your router page http://192.168.1.1 from your Smartphone.
- If you reach it, it means everything is working!
- From an external device:
- Once your Smartphone is connected to the VPN, check its assigned local IPv4 into the Virtual Private Networn(VPN) section, in this case is 192.168.9.2.
- Use a device connected on the local network to ping your Smartphone.
ping 192.168.9.2
- You should see the following output.
PING 192.168.9.2 (192.168.9.2) 56(84) bytes of data.
64 bytes from 192.168.9.2: icmp_seq=1 ttl=63 time=128 ms
64 bytes from 192.168.9.2: icmp_seq=2 ttl=63 time=114 ms
64 bytes from 192.168.9.2: icmp_seq=3 ttl=63 time=138 ms
64 bytes from 192.168.9.2: icmp_seq=4 ttl=63 time=109 ms
If you want to check live the configuration process:
tail -f /tmp/openvpn_output.log
To check the OpenVPN logs:
tail -f /var/log/openvpn.log
tail -f /var/log/openvpn_status.log
1. In StarlinuX, go to the Virtual Private Network(VPN) section.
2. Choose the Wireguard section.
3. Slide the configuration button, StarlinuX will take a while to configure Wireguard depending on your SBC efficiency.
4. Once is done, turn off your Wi-Fi connection and use only your Mobile Network.
5. Slide the activation button, your smartphone will be assigned a local IPv4 address.
6. Congrats, you're a virtually home!
7. For disconnecting, slide it back.
- From your Smartphone:
- Once you're connected to the VPN,try to open your router page http://192.168.1.1 from your Smartphone.
- If you reach it, it means everything is working!
- From an external device:
- Once your Smartphone is connected to the VPN, check its assigned local IPv4 into the Virtual Private Networn(VPN) section, in this case is 192.168.8.2.
- Use a device connected on the local network to ping your Smartphone.
ping 192.168.8.2
- You should see the following output.
PING 192.168.8.2 (192.168.8.2) 56(84) bytes of data.
64 bytes from 192.168.8.2: icmp_seq=1 ttl=63 time=128 ms
64 bytes from 192.168.8.2: icmp_seq=2 ttl=63 time=114 ms
64 bytes from 192.168.8.2: icmp_seq=3 ttl=63 time=138 ms
64 bytes from 192.168.8.2: icmp_seq=4 ttl=63 time=109 ms
If you want to check live the configuration process:
tail -f /tmp/wireguard_output.log
To check the Wireguard status:
wg
2. Create a new hostname through the control panel.(e.g my-starlink-home.ddns.net)
3. Setup a new DDNS key, you'll receive username and password.
4. In StarlinuX, go to the Dynamic DNS(DDNS) section.
5. Fill out the form with the hostname and your DDNS key credentials.
6. Congrats, you've set up your DDNS!
7. StarlinuX will take care to sync your FQDN with the current IPv6 on time.
- From any Linux device:
- Try to resolve your DDNS(e.g my-starlink-home.ddns.net)
nslookup -type=AAAA my-starlink-home.ddns.net
- You should see the following output.
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: my-starlink-home.ddns.net
Address: 2a0d:3344:....
2. As default, there are a couple of pre configured rules(HTTP and SSH).
3. Add a new rule clicking on the (+) button.
4. Edit the External Port with that one everybody should point to.
5. Edit the Destination Port with the one the server is listening on.
6. Choose its IPv6 address from the Target IPv6 dropdown list.
7. Enable the rule with the toggle
8. Congrats, all done!
- From an external device:
- Try to reach your server from the outside pointing at your WAN IPv6 address and the external port.
nc -6 [IPv6_address] 5555
2. SSH into StarlinuX:
- Congrats, you're in!
- Remember to change the default credentials.
I'm currently running the basic plan of Starlink, is it possible to set up my own VPN anyway?
Certainly! You do have the possibility to set up your own VPN even with the basic Starlink plan.My Smartphone's mobile network doesn't provide an IPv6, how can I reach my Starlink network?
Sorry, but an assigned IPv6 is mandatory. We suggest you to find a new ISP in order to obtain an IPv6 address.How can I check if my Smartphone is running an IPv6?
Try connecting to the VPN. If you're missing IPv6, an alert will advise you. Alternatively, you can visit checkipv6.com to test your ISP.My Minecraft server is listening on port 5555, how do I make people reach my server?
The easiest way is to set up Port Forwarding. Go to the dedicated section in the app.Does this application substitute the original Starlink app?
Of course not, StarlinuX handles the Router while Starlink manages the Dish.Do I need to install OpenVPN for Android?
Yes, you do. But don't worry, you'll manage everything from StarlinuX.How to reset the StarlinuX Router credentials?
Follow the original instructions provided by OpenWRT.- Virtual Private Network(VPN)
- Own VPN
- Share VPN to friends(Work in progress)
- Dynamic DNS(DDNS)
- NoIP.com
- Port Forwarding
- Wireless + Ethernet
- IPv6 + IPv4
- DMZ(Work in progress)
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
StarlinuX is dedicated to safeguarding your privacy. This Privacy Policy outlines how we handle your personal information when you use our mobile application (com.magix.pistarlink).
Information We Collect
When you use our App, we do not collect any personal information. Specifically, we do not gather:
- Personal Information: No collection of names, email addresses, or contact information.
- Device Information: No data regarding your device, such as the operating system or hardware model.
- Usage Data: No tracking of your interactions with the App.
- Location Data: We do not collect location data, except with your explicit consent for specific features (e.g., Wi-Fi status).
- Data Security
- We take reasonable technical and organizational measures to protect your information from unauthorized access, disclosure, or alteration. However, please be aware that no method of transmission over the internet is completely secure, and we cannot guarantee absolute security.
Your Rights
- Depending on your location, you may have certain rights concerning your data, including:
- Access to any personal data we may hold about you.
- The ability to request corrections or deletions of your data.
- The option to withdraw your consent for data collection, if applicable.
- Third-Party Links
- Our App may include links to third-party websites or services. This Privacy Policy does not extend to these external services, and we are not responsible for their privacy practices.
Children’s Privacy
- Our App is not designed for children under 13, and we do not knowingly collect personal data from this age group. If we discover that we have inadvertently collected data from a child under 13, we will take appropriate measures to delete it.
Changes to This Privacy Policy
We may periodically update this Privacy Policy. Any significant changes will be communicated by posting the revised policy within the App and updating the "Last Updated" date at the top of this document.
Davide Polli - @instagram - [email protected]
Project Link: https://github.com/davixdedem/Pi-Starlink