Skip to content

davixdedem/Pi-Starlink

Repository files navigation


Logo

The Rasberry Pi's unofficial solution for Starlink.


View Issues · Report Bug · Request Feature

Table of Contents
  1. What's Pi Starlink
  2. Getting Started
  3. Usage
  4. FAQ
  5. Roadmap
  6. Contributing
  7. Privacy Policy
  8. Contact

What's Pi Starlink?

Available in a few days...
...in the meantime download the last Release.

Play Store Badge

Logo
...build your own OpenWRT image from scratch in a few minutes!.

Follow the instructions


Since Starlink provides their clients a public IPv6, which is globally accessible, we leveraged on it building from scratch a custom image of OpenWRT dedicated to Raspberry Pi. This offers a proper and reliable Modem/Router with pre-configured settings studiously assessed for working with the Starlink Dish as plug & play.

Get now our Android app...

The mobile application of Pi Starlink 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. The VPN is based on OpenVPN, which is free and also, it works with the APIs provided by the fork project of OpenVPN for Android. Pi Starlink 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 features 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!

...IPv6, what a Saviour!

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.

Just in case you get a Power Over Ethernet!

One of the main goals of this project is power saving, because Pi Starlink replaced the original Starlink router, which has a higher power consumption compared to the low cost Single Board Computer we’re working on. 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 switching to 46v avoiding any A.C inverter.

(back to top)

Screenshots

Logo Logo Logo

(back to top)

Getting Started

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:

  1. Open the Starlink app and navigate to the Settings section.
  2. Select the Router options.
  3. Toggle the Bypass Starlink Router switch.

Build your own OpenWRT image

Depending on your Raspberry Pi model, download its official OpenWRT image from the OpenWRT Website.

  • Download the appropriate OpenWRT image for your Raspberry Pi model.
  • Flash the OpenWRT image onto the MicroSD card using Etcher or any similar tool.
  • Insert the MicroSD card into your Raspberry Pi.
  • Power up the Raspberry Pi.
  • Plug an Ethernet cable into the Ethernet port on the Raspberry Pi and connect it to your laptop/computer.
  • Verify that you can access OpenWRT by pinging its default IP address:
ping 192.168.1.1
  • Clone the repository from GitHub:
git clone --branch master https://github.com/davixdedem/Pi-Starlink.git
  • Navigate to the auto_install directory.
cd Pi-Starlink/auto_install
  • Run First.sh with:
ssh [email protected] 'ash -s' < First.sh 2>&1
  • Now connect Raspberry Pi to Starlink in place of the original Router.
  • Connect to the Wi-Fi:
SSID: Pi-Starlink
Password: pistarlink
  • Run Second.sh with:
ssh [email protected] 'ash -s' < Second.sh 2>&1
  • Run Third.sh with:
bash Third.sh
  • Once all the scripts have been executed, your Raspberry Pi should be configured and connected to Starlink, you can now use our Android application!

Installation

  • Download the Pi-Starlink application from the last Release.
  • Install it on your Smartphone.
  • Connect it to the Pi Starlink Wi-Fi using the following default credentials:
    SSID: Pi-Starlink
    Password: pistarlink
  • Open the app, you're in!

(back to top)

Prerequisites

Minimum Requirements for your Smartphone.

  • Operating System: Android 14 (API Level 34)
  • 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 or Mobile Data

Minimum Requirements for your Raspberry Pi.

  • Raspberry Pi 3 Model B+

    • Wi-Fi: 802.11n
    • Ethernet: 10/100 Mbps
  • Raspberry Pi 4 Model B

    • Wi-Fi: 802.11ac
    • Ethernet: Gigabit Ethernet
  • Raspberry Pi 3 Model B

    • Wi-Fi: 802.11n
    • Ethernet: 10/100 Mbps

Recommended Model

  • Raspberry Pi 5
    • Wi-Fi: 802.11ac or newer
    • Ethernet: Gigabit Ethernet

(back to top)

Reach your home from outside: set up your own VPN!

Logo
1. First of all, be sure you've already installed OpenVPN for Android on your Smartphone.
2. In Pi Starlink, go to the Virtual Private Network(VPN) section.
3. Slide the configuration button, Pi Starlink will take a few minutes to configure OpenVPN depending on your Raspberry Pi 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.

Some tips to check if it works:

  • From your Smartphone:
  1. Once you're connected to the VPN,try to open your router page http://192.168.1.1 from your Smartphone.
  2. If you reach it, it means everything is working!
  • From an external device:
  1. 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.
  2. Use a device connected on the local network to ping your Smartphone.
ping 192.168.9.2
  1. 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

For any further data:

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

(back to top)

Get rid of dynamic IP: set up your personal DDNS!

Logo
1. First of all, register and sign up at https://my.noip.com
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 Pi Starlink, 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. Pi Starlink will take care to sync your FQDN with the current IPv6 on time.

Some tips to check if it works:

  • From any Linux device:
  1. Try to resolve your DDNS(e.g my-starlink-home.ddns.net)
nslookup -type=AAAA my-starlink-home.ddns.net
  1. 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:....

(back to top)

Got a Game Server or a Web Page? Set up Port Forwarding!

Logo
1. In the Pi Starlink Application, go to the Port Forwarding section.
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!

Some tips to check if it works:

  • From an external device:
  1. Try to reach your server from the outside pointing at your WAN IPv6 address and the external port.
nc -6 [IPv6_address] 5555

Need to go deeper, SSH into your Pi Starlink!

Logo
1. First of all, be sure your Pi Starlink is reachable.
2. SSH into Pi Starlink:
  1. Congrats, you're in!
  2. Remember to change the default credentials.

(back to top)

In need of more ethernet ports? Get an extender!

There is no competitor speaking about Ethernet, as the cable is still the perfect solution if your goal is to reduce any latency while you’re playing your fav game online. So, we’d like to suggest you the most reliable Ethernet Port Extender that we figured out and that we’re currently pushing off the edge getting amazing results.

(back to top)

FAQ

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, Pi Starlink 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 Pi Starlink.
How to reset the Pi Starlink Router credentials? Follow the original instructions provided by OpenWRT.

(back to top)

Roadmap

  • 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).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Privacy Policy

Pi Starlink 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.

Contact

Davide Polli - @instagram - [email protected]

Project Link: https://github.com/davixdedem/Pi-Starlink

(back to top)

About

The Rasberry Pi's unofficial solution for Starlink.

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages