[iOS] Tapping .bpf profile file opens Taildrop dialog instead of importing profile (1.14.0)
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38.1k
- Forks
- 4.6k
- Avg merge
- 19d 15h
- Merged PRs (30d)
- 1
Description
Operating system
iOS
System version
26.6
Installation type
sing-box for iOS Graphical Client
If you are using a graphical client, please provide the version of the client.
1.14.0
Version
Description
Description
When importing a local .bpf profile file on iOS by tapping it and selecting the sing-box app to open it, the app does not import the profile. Instead it shows a Taildrop / Tailscale-related prompt and the profile import does not happen.
My configuration does not use a Tailscale endpoint at all, so this appears to be the app's file-open handler incorrectly routing the incoming file to the new Taildrop feature (added in 1.14.0) instead of the profile import flow.
This may be related to #3750, which reports a similar regression on Android (tapping a .bpf file no longer auto-imports it), though the symptom there is a silent no-op rather than a Taildrop prompt.
Expected behavior
Tapping a .bpf file and opening it with sing-box should import it as a profile, as in previous versions.
Actual behavior
The app shows a Taildrop-related prompt and does not import the profile.
Configuration
No Tailscale endpoint is configured.
Additional context
Screen recording attached showing the behavior.
https://github.com/user-attachments/assets/145257a0-f2e2-45d8-a1e1-4ba55e552bb4
Reproduction
Reproduction
- Export or receive a
.bpfprofile file on iPhone (e.g. via AirDrop, Files, or email attachment). - Tap the file in Files/Mail/wherever it was received.
- Choose "sing-box" from the Open With / share sheet.
- Observe: a Taildrop/Tailscale-related screen appears instead of the profile import screen.
Logs
Supporter
- I am a sponsor
Integrity requirements
- I confirm that I have read the documentation, understand the meaning of all the configuration items I wrote, and did not pile up seemingly useful options or default values.
- I confirm that I have provided the server and client configuration files and process that can be reproduced locally, instead of a complicated client configuration file that has been stripped of sensitive data.
- I confirm that I have provided the simplest configuration that can be used to reproduce the error I reported, instead of depending on remote servers, TUN, graphical interface clients, or other closed-source software.
- I confirm that I have provided the complete configuration files and logs, rather than just providing parts I think are useful out of confidence in my own intelligence.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue on the iOS graphical client by opening a local .bpf file and selecting sing-box. Trace the iOS file-open handler added around the 1.14.0 Taildrop feature and its routing to profile import; done means the file opens the profile import flow without a Tailscale endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100