ninja-links
iPhone app to scan and keep Social Stream Ninja and VDO.Ninja links (AltStore)
Questions
Is ninja-links free?
Yes. ninja-links is free to use and open source. The full source code is on GitHub at https://github.com/kshitizwagle/ninja-links.
How do I get ninja-links?
Get the source from https://github.com/kshitizwagle/ninja-links; the README there covers installation and usage.
Is there a warranty or support for ninja-links?
No. ninja-links was built with AI assistance and is provided as is, without warranty. Kshitiz Wagle is not liable for damage or loss. Use it at your own risk.
Who makes ninja-links?
ninja-links is built and maintained by Kshitiz Wagle, a software engineer in Lalitpur, Nepal. Portfolio: https://kshitizwagle.com.np.
README
An iPhone app that keeps your Social Stream Ninja and VDO.Ninja links in one place. Scan the QR code a page shows on your computer and the link is saved, named after what it is.
- Scan a QR code with the camera (torch for dark rooms), or paste or type a link.
- Recognises Social Stream Ninja pages (Dock, Featured and other overlays, with the session id) and VDO.Ninja links (Camera/push, Viewer, Director, Scene, Room guest). Anything else is kept under "Other links".
- Manage: rename, add notes, search, reorder, delete. Scanning a link you already have shows the saved one.
- Use: open in-app or in Safari, copy, share, or show it again as a big QR code for another device.
- Links stay on the phone (Application Support, file protection on). Session ids work like passwords, so the app never sends them anywhere.
Install with AltStore
In AltStore, go to Browse › Sources › + and add:
https://kshitizwagle.com.np/altstoreOr download NinjaLinks-unsigned.ipa from the latest release and open it with AltStore or Sideloadly, which sign it with your Apple ID. Needs iOS 16 or later.
Build
The app is SwiftUI with an XcodeGen spec (ios/project.yml), so the .xcodeproj isn't committed.
cd ios && xcodegen && open NinjaLinks.xcodeprojOn every push, GitHub Actions (.github/workflows/ci.yml) runs the tests on a macOS runner and builds an unsigned IPA. Each green build on main becomes the next vX.Y.Z release ([minor] or [major] in the commit message bumps those). The AltStore source is built from these releases in kshitizwagle/altstore, which also lists my other apps.
The icon is drawn by scripts/make-icon.ps1 (copy it to icons/ninja-links.png in the altstore repo too).