GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - oxedinc/PocketNode: šŸš€ PocketNode — Turn any old Android phone into a Linux home server. DNS ad blocker, file sharing, torrents, VPN & web dashboard running 24/7 on just 2 watts.

BranchesTags
Open more actions menu

Latest commit

 

History

3 Commits
3 Commits

Folders and files

NameName
Last commit message
Last commit date
configs
configs
 
 
docs
docs
 
 
scripts
scripts
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

šŸš€ PocketNode

E6D34CEE-8F56-4A69-9673-FBFAABE2C5F2

Turn any old Android phone into a powerful Linux home server

Android Debian ARM 2W Free License

DNS ad blocking • File sharing • Torrents • VPN • Web dashboard
All running 24/7 on a phone that fits in your pocket.


Features • Services • Quick Start • Architecture • Docs


šŸ’” What is PocketNode?

PocketNode transforms old Android smartphones (like a Samsung Galaxy S3) into fully functional Linux home servers. Instead of throwing away outdated phones, give them a second life as always-on, silent, ultra-low-power servers that provide real utility to your home network.

šŸ“± → šŸ–„ļø Your old phone becomes your new server.

Why PocketNode?

Traditional Server PocketNode
šŸ’° Cost $100-500+ $0 (reuse old phone)
⚔ Power 50-100W ~2W
šŸ”‡ Noise Fans spinning Silent
šŸ“¦ Size Tower/NUC Fits in pocket
🌱 Eco New hardware ā™»ļø Recycled
šŸ”‹ UPS Needed separately Built-in battery!

✨ Features

  • šŸ›”ļø Network-wide ad blocking — Block 99,570+ ad/tracker domains for ALL devices
  • šŸ“ File sharing — Access shared folders from Mac, Windows, Linux, iOS
  • ā¬‡ļø Torrent downloads — Web-based torrent client with remote access
  • šŸ” VPN server — Secure access to your home network from anywhere
  • šŸ–„ļø Web dashboard — Beautiful Homer page with all your services
  • āš™ļø Server admin — Cockpit web panel for system management
  • šŸ”‘ SSH access — Full terminal access over the network
  • šŸ”„ Auto-start — Everything starts automatically on phone boot
  • šŸ“± Phone terminal — Manage directly from the phone's screen

🧩 Services

Service Port Access What it does
🌐 Homer 8080 http://<IP>:8080 Dashboard with links to everything
āš™ļø Cockpit 9090 http://<IP>:9090 Web-based server administration
ā¬‡ļø Transmission 9091 http://<IP>:9091 Download torrents via web UI
šŸ”‘ SSH 22 ssh android@<IP> Remote terminal access
šŸ›”ļø DNS Blocker 53 Set as router DNS Blocks ads network-wide
šŸ“ Samba 445 smb://<IP>/shared File sharing
šŸ” WireGuard 51820 WireGuard app VPN tunnel

šŸš€ Quick Start

Requirements

  • Any rooted Android phone (tested on Galaxy S3, but works on others)
  • Custom ROM recommended (LineageOS, Resurrection Remix, etc.)
  • USB cable + computer with ADB installed
  • WiFi connection

Installation

# Clone this repo
git clone https://github.com/YOUR_USER/PocketNode.git
cd PocketNode

# Connect phone via USB
adb devices

# Run installation scripts
chmod +x scripts/*.sh
./scripts/01-install-debian.sh
./scripts/02-install-services.sh
./scripts/03-configure-services.sh
./scripts/04-setup-autostart.sh

First Access

# SSH into your PocketNode
ssh android@<PHONE_IP>
# Password: android

# Open the dashboard in your browser
open http://<PHONE_IP>:8080

šŸ—ļø Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│              šŸ“± PocketNode                       │
│           Android + Debian Chroot                │
│                                                  │
│  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  │
│  │          Debian 11 (Bullseye)              │  │
│  │                                            │  │
│  │  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  │  │
│  │  │ dnsmasq  │  │    Transmission       │  │  │
│  │  │  :53     │  │    :9091              │  │  │
│  │  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  │  │
│  │  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  │  │
│  │  │  Samba   │  │     Cockpit           │  │  │
│  │  │  :445    │  │     :9090             │  │  │
│  │  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  │  │
│  │  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  │  │
│  │  │  sshd    │  │  Homer (lighttpd)     │  │  │
│  │  │  :22     │  │     :8080             │  │  │
│  │  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  │  │
│  │  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” │  │
│  │  │      WireGuard VPN :51820            │ │  │
│  │  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ │  │
│  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  │
│                                                  │
│  šŸ”„ init.d/99linux → auto-starts everything     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
              │ WiFi: 192.168.x.x
              ā–¼
        šŸ  Home Network
              │
        ā”Œā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”
        │   Router   │ ← DNS pointed to PocketNode
        ā””ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”˜
              │
     ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
     │        │        │
    šŸ’»       šŸ“±      šŸ“ŗ
   Mac    iPhone     TV     ← All ads blocked āœ…

šŸ“Š Performance

Metric Value
RAM (all services running) ~300 MB / 1,772 MB
Storage used ~2.1 GB / 12 GB available
Boot → services ready ~60 seconds
DNS response time ~25 ms
Blocked domains 99,570+
Power consumption ~2 Watts
Monthly electricity cost ~$0.05 USD

šŸ“– Documentation

Doc Description
01 - Prerequisites Hardware & software requirements
02 - Install Debian Chroot setup guide
03 - Install Services Service installation
04 - DNS Blocker Network-wide ad blocking
05 - Samba File sharing setup
06 - Transmission Torrent client
07 - WireGuard VPN server
08 - Dashboards Homer & Cockpit
09 - Auto-start Boot automation
10 - Network DNS Router configuration

šŸ—‚ļø Project Structure

PocketNode/
ā”œā”€ā”€ README.md
ā”œā”€ā”€ LICENSE
ā”œā”€ā”€ .gitignore
ā”œā”€ā”€ scripts/
│   ā”œā”€ā”€ 01-install-debian.sh
│   ā”œā”€ā”€ 02-install-services.sh
│   ā”œā”€ā”€ 03-configure-services.sh
│   └── 04-setup-autostart.sh
ā”œā”€ā”€ configs/
│   ā”œā”€ā”€ dns-blocker/
│   │   └── dnsmasq.conf
│   ā”œā”€ā”€ samba/
│   │   └── smb.conf
│   ā”œā”€ā”€ transmission/
│   │   └── settings.json
│   ā”œā”€ā”€ wireguard/
│   │   └── wg0.conf.example
│   ā”œā”€ā”€ homer/
│   │   ā”œā”€ā”€ config.yml
│   │   └── lighttpd.conf
│   └── cockpit/
│       └── cockpit.conf
└── docs/
    ā”œā”€ā”€ 01-prerequisites.md
    └── ...

šŸ¤ Compatible Devices

Tested and confirmed working:

Device Android ROM Status
Samsung Galaxy S3 (d2spr) 7.1.2 Resurrection Remix āœ… Fully working

Should work on any rooted Android with:

  • ARM/ARM64 processor
  • 1GB+ RAM
  • 4GB+ internal storage
  • WiFi connectivity

šŸ“‹ Tested yours? Open a PR to add it to the list!


šŸ›£ļø Roadmap

  • One-command installer script
  • Support for ARM64 devices
  • Tailscale integration
  • Vaultwarden (password manager)
  • Uptime Kuma (monitoring)
  • Automated backup system
  • Web-based initial setup wizard
  • Docker support (for newer kernels)

āš ļø Limitations

  • Old kernels (3.x) — Some modern software won't work (Pi-hole FTL v6, WireGuard kernel module)
  • WiFi speed — Limited by phone's WiFi chip (~1-10 Mbps on older devices)
  • No hardware transcoding — Not suitable for video streaming
  • ARM 32-bit — Some software only supports ARM64/x86

šŸ¤ Contributing

Contributions welcome! See our contributing guide.

  1. Fork this repo
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open a Pull Request

šŸ“„ License

MIT License — see LICENSE for details.


⭐ Star this repo if you think old phones deserve a second life!

Made with ā¤ļø by recycling an old Galaxy S3 that refused to retire

Report Bug • Request Feature • Discussions

About

šŸš€ PocketNode — Turn any old Android phone into a Linux home server. DNS ad blocker, file sharing, torrents, VPN & web dashboard running 24/7 on just 2 watts.

instagram.com/oxedinc/

Topics

ad-blockerandroid-serverdebiandns-blockerhome-labhomeserverlinuxlow-powerold-phoneprivacyraspberry-pi-alternativesamsungself-hostedupcyclingwireguard

Resources

Readme
MIT license
Activity

Stars

3 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Ɨ600. No cookies required.