Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Output, backup, and read all your iPhone text messages.
Nosy extracts text messages from the native iOS (iPhone, iPad) database stored on your computer after each backup and organizes it into an array of easily explorable messages.
Nosy returns an array of messages with the fields
which can then be outputted to
$ gem install nosy
Or add Nosy to your Gemfile and run bundle install
.
Nosy can be run from the command line using:
# Find, parse and output to an HTML file
$ nosy
# … to a JSON file
$ nosy json true
# … to a JSON string
$ nosy json false
# … to a CSV file
$ nosy csv
Note: This will only work on a Mac OSX system. Nosy (is nosy, and) will try to grab your iOS message database, parse it, and then export it, but only knows where the files are stored on a Mac system.
If you are on a Mac OSX system, Nosy (is nosy, and) will try to grab your iOS message database, parse it, and then export it.
all_texts = Nosy.hunt_and_parse
all_texts.each do |text|
text.receiver
text.sender
text.message
text.imessage
text.date
end
If you are on a Mac OSX system, Nosy (is nosy, and) will try to grab your iOS message database and parse it.
all_texts = Nosy.hunt_and_parse
all_texts.each do |text|
text.receiver
text.sender
text.message
text.imessage
text.date
end
The location of the folder storing the iOS message backups in Mac OSX is
$ ~/Library/Application Support/MobileSync/Backup/
Each of the folders will represent an Apple device. Within your desired device's folder, the iOS message database will be the file entitled 3d0d7e5fb2ce288813306e4d4636395e047a3d28
If you are on Mac OSX running Nosy.hunt will return a String with the location of the first parseable iOS message database if there is one.
require 'nosy'
new_text_backup_file_location = Nosy.hunt
If you pass in an iOS message database, Nosy can detect if a file can be parsed as an iPhone database.
valid = Nosy.can_parse?(iphone_database_location)
Also, Nosy can parse the file and return an array of all available text messages.
all_texts = Nosy.parse(iphone_database_location)
all_texts.each do |text|
text.receiver
text.sender
text.message
text.imessage
text.date
end
Nosy can search through the texts in your iOS message database. Nosy searching supports any combination of the following keys:
Note
nosty_texts = Nosy.new(iphone_database_location)
# Array of texts where I am the sender
my_sent_texts = nosty_texts.search(:sender => "me")
# Array of texts where the date is less than 1273175931
before_then_texts = nosty_texts.search(:date => "<1273175931")
# Array of texts where I am the sender and the date is less than 1273175931
before_then_texts = nosty_texts.search(:sender => "me", :date => "<1273175931")`
If you provide nosy with an array of texts it will be able to output them to a html file, json string, json file, or csv. The method will return the location of the file.
# All texts to a json file
all_texts = Nosy.hunt_and_parse
Nosy.output(all_texts, "json", true)
# All texts to a json string
Nosy.output(all_texts, "json", false)
# Texts from me to a csv file
nosty_texts = Nosy.new(iphone_database_location)
my_sent_texts = nosty_texts.search(:sender => "me")
Nosy.output(my_sent_texts, "csv")
# Texts from me to a html file
Nosy.output(my_sent_texts, "html")
Contributions, improvements, and suggestions more than welcome! Please!
Currently, Nosy is yet to...
FAQs
Unknown package
We found that nosy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.