Package Details: prey-node-client 1.10.7-1

Git Clone URL: (read-only, click to copy)
Package Base: prey-node-client
Description: Remote tracking and monitoring application for laptops, smartphones, and other electronic devices
Upstream URL:
Licenses: GPL3
Replaces: prey-tracker
Submitter: lutoma
Maintainer: xpt (phnx47)
Last Packager: phnx47
Votes: 36
Popularity: 0.000282
First Submitted: 2014-12-02 03:20 (UTC)
Last Updated: 2022-06-19 05:34 (UTC)

Latest Comments

costancho commented on 2021-03-10 00:01 (UTC) (edited on 2021-03-10 00:02 (UTC) by costancho)

Is lacking the prey-daemon service, recognizes the equipment at the first configuration, then it appears as off.

When I try with: sudo systemctl status prey-agent
The console shows: Unit prey-agent.service could not be found

rerep commented on 2020-12-23 05:26 (UTC)

GUI works fine for me in KDE (plasma 5.20.4).

If the package is out of date and you want to update, just edit 'pkgver' in PKGBUILD to 1.9.8 or whatever the current version is on github and edit the sha256sum to ('SKIP')

phnx47 commented on 2020-06-23 15:06 (UTC) (edited on 2020-06-23 15:09 (UTC) by phnx47)

@whoisroot Thanks you! I did it already...

I'm not sure about Python and some functional. For example this PR: And GUI doesn't work in KDE.

My version here:

whoisroot commented on 2020-06-23 14:49 (UTC) (edited on 2020-06-23 14:57 (UTC) by whoisroot)

Since all you gotta do to update is change the pkgver from 1.9.1 to 1.9.4 and the checksums:



Just run this after downloading the PKGBUILD:

# Update pkgver
sed -i 's/9.1/9.4/g' PKGBUILD
# Update i686 sha256sum
sed -i 's/699e601d2e629dfee97df6bfab4ed0c79e717d020ea59365bd76ffdca63c596d/5c1e4a2917b3e9b6e90b38a72c2d6e53128519e7d636a299b8374adbe57e6246/g' PKGBUILD
# Update x86_64 sha256sum
sed -i 's/1f6c1407457ac4ea11a039a32054bfb87920029eeabec26b60660fc5dc58ccda/e1f29f0b2836a97bce9ef7bbb4a92ccfad23cd57b0547cae75aa83fab5e858e1/g' PKGBUILD
# Install the package
makepkg -i

phnx47 commented on 2020-06-20 18:24 (UTC)

I tried update to 1.9.4. Cli is working, but I'm not sure about correct work.

Any news about support Prey in Arch?

jorgicio commented on 2020-03-05 02:29 (UTC)

1.9.3 is released some time ago and it's the latest version.

tag_enk commented on 2019-08-13 02:19 (UTC)

Can confirm 1.9.1 does work better but it still doesn't generate reports. I can now at least send alarms and notifications to the laptop which I couldn't do before. xpt you out there to update your PKGBUILD?

zerkz commented on 2019-03-23 19:42 (UTC)

This seems to be dead in a variety of ways, I have much trouble getting it working and tried a good bit of the workarounds. Anyone have luck in 2019?

benmarshall commented on 2018-12-10 19:51 (UTC)

This package still seems to work with the latest release from github (1.8.2) with minor modifications to the patch file: diff entry for 'lib/system/linux/index.js' needs to be removed.

jhartz commented on 2018-02-17 19:05 (UTC) (edited on 2018-02-17 19:05 (UTC) by jhartz)

It seems like the main issue is that, when "/opt/prey-node-client/bin/prey" is accessed via the symlink "/usr/bin/prey_project", it doesn't realize that it should be looking for node deps in "/opt/prey-node-client".

To fix: remove the "/usr/bin/prey_project" symlink and replace it with a new file:

exec /opt/prey-node-client/bin/prey "$@"

I'd also recommend that the PKGBUILD be updated to do this instead of make "/usr/bin/prey_project" a symlink.

70isthenew55 commented on 2017-08-07 10:49 (UTC)

Here are the current state of things, it's not very elegant but it works...sort of. First navigate to /opt/prey-node-client and delete the node_modules dir. then in the same dir run npm install to rebuild the node_modules tree, if running prey_project config <whatever whatever> brings up an error pertaining to <some package> just run sudo npm i <name-of-package-it's-squawking-about> (DO NOT USE THE -g OPTION! or else you'll still receive the error). You should stay in the /opt/prey-node-client/ dir during this entire process. Running prey_project with any of it's child commmands should now work. I have yet to get the configuration GUI to work however.

70isthenew55 commented on 2017-08-06 07:23 (UTC)

Even with version 1.6.9 I receive the following error when trying to launch the gui or the plugins config.. Error: Cannot find module '/opt/prey-node-client/node_modules/sqlite3/lib/binding/node-v57-linux-x64/node_sqlite3.node' at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/opt/prey-node-client/node_modules/sqlite3/lib/sqlite3.js:4:15) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) I have enabled the python fix and had to setup the account according to Angel_Caido's instructions, and as I have no coding background I'm not sure how to implement arielfre's solution either, any help would be greatly appreciated.

jorgicio commented on 2017-06-14 03:23 (UTC)

This package is quite outdated; the 1.6.8 version was released some time ago.

arielfre commented on 2017-05-30 23:05 (UTC)

I find error running 'prey_project config gui'; the solution was edit /usr/bin/prey_project and change the "$node" to the internal node binary shipped in prey (/opt/prey-node-client/bin/node).

n1ch0la5 commented on 2017-04-24 21:05 (UTC)

nodejs update dated 2017-04-24 appears to break prey-node-client.

jhartz commented on 2016-12-15 01:59 (UTC)

After upgrading nodejs to 7.0, I had to change /opt/prey-node-client/bin/prey so that it explicitly uses /opt/prey-node-client/bin/node (the version of node that ships with prey) instead of the system nodejs. (It was already doing this when run from /opt/prey-node-client/bin/prey directly, but not when using the /usr/bin/prey_project symlink.)

Angel_Caido commented on 2016-11-08 04:16 (UTC) (edited on 2016-11-09 22:23 (UTC) by Angel_Caido)

FYI: The package nodejs reached version 7.0. After I upgraded it, prey-node-client started crashing on my system. I downgraded to version 6.9 and prey is spreading its wings again. Be careful when updating/upgrading.

xpt commented on 2016-10-26 17:38 (UTC)

Hi everyone! So, I edited PKGBUILD; 1. I commented the line "rm bin/node" 2. Added npm as dependency

cjmzy commented on 2016-10-24 13:28 (UTC)

Thank you, Angel, that worked well!

Angel_Caido commented on 2016-10-23 16:20 (UTC) (edited on 2016-11-29 03:26 (UTC) by Angel_Caido)

First of all, Good job in building this PKGBUILD and thank you for sharing it. I just have a few observations after installing it and doing some testing on my system: 1. I edited the PKGBUILD following yut23's observation. I commented the "rm bin/node" from the PKGBUILD. 2. You may want to consider adding 'npm' as an obligatory dependency. The Account Setup process will not run properly without this package installed. 3. I had to create the file '/usr/local/bin/python' and give it executable permissions using 'chmod +x /usr/local/bin/python'. 4. The setup process that worked for me included [using the terminal and after installing 'npm']: a) cd /opt/prey-node-client/bin/ b) sudo ./prey config account setup After that the setup process went as normal, asking if I had an account and [if so] the username and password for such account. Process ended up properly and added my device to my Prey-project account. I hope this helps somebody else.

yut23 commented on 2016-09-11 18:30 (UTC)

I just noticed that Prey was crashing with "Error: Cannot find module '/opt/prey-node-client/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node'". It looks like the client ships with the sqlite3 bindings for node.js ABI v46, while community/nodejs installs the latest version (currently v6.5.0, ABI v48). I was able to get the client working by using the bundled node.js (I removed "rm bin/node" from the PKGBUILD).

nuksan commented on 2016-09-08 23:55 (UTC) (edited on 2016-09-09 00:02 (UTC) by nuksan)

@OdinEidolon I'm having the same problem with the "re-evaluating native module sources is not supported..." message, and for me it appears with every command I try to run. I can't even run "prey_project config log". @ThecaTTony Does networkmanager really need to be a dependency? Automatically connecting to WiFi happens on my system with netctl, and the ArchWiki lists other daemons users could use as well.

OdinEidolon commented on 2016-07-28 07:54 (UTC)

Not working anymore after first reboot :( Anyone has any idea? # prey_project config log returns: error Thu, 28 Jul 2016 07:53:12 GMT [network] Connection error: Error: getaddrinfo ENOTFOUND error Thu, 28 Jul 2016 07:53:27 GMT [network] Connection error: Error: getaddrinfo ENOTFOUND error Thu, 28 Jul 2016 07:53:42 GMT [network] Connection error: Error: getaddrinfo ENOTFOUND

OdinEidolon commented on 2016-07-26 09:13 (UTC)

Is the GUI working for anyone? I get: sudo -u prey prey_project config gui (node:27806) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version. Valid existing keys found. Proceeding anyway. Firing up config GUI! But nothing happens.

noplomplom commented on 2016-06-24 05:41 (UTC) (edited on 2016-06-24 05:52 (UTC) by noplomplom)

When checking installation (1.6.1), get the error "Unable to verify keys:" and no key following. I'm sure the config is alright, it was working well with 1.5.1. Here's the package build output: patching file bin/prey patching file lib/agent/actions/alert/linux/ patching file lib/conf/gui/linux/ patching file prey.conf.default patching file lib/system/linux/index.js patching file lib/conf/gui/linux/ patching file lib/conf/shared/messages.js patching file lib/conf/shared/keys.js patching file lib/agent/plugins/console/index.js patching file package.json Hunk #1 succeeded at 83 (offset 2 lines). patch unexpectedly ends in middle of line Hunk #2 succeeded at 92 with fuzz 1 (offset 2 lines). EDIT: I'm still getting the same error message when checking config after a reboot, but my computer appears correctly in the web app. However, it cannot be located.

noplomplom commented on 2016-06-24 05:35 (UTC)

Same error remaining in PKGBUILD, line 23: it should be cd "$srcdir/prey-$pkgver" instead of cd "$srcdir/prey-$pkgver.$pkgrel"

disprofarma commented on 2016-06-23 18:47 (UTC)

Hi, license should be GPL3, and not GPLv3. Thanks!"

noplomplom commented on 2016-06-13 17:33 (UTC)

It seems there's an error in the PKGBUILD: line 23 should be cd "$srcdir/prey-$pkgver" without the ".$pkgrel" part

mzecher commented on 2016-05-14 02:15 (UTC)

prey-agent.service is not included, or am I doing something wrong?

JDCNS commented on 2016-03-20 04:49 (UTC)

OK, it's working now.

JDCNS commented on 2016-03-20 02:18 (UTC)

Well, now I get a 404 trying to download it from this, so I cannot test your node.js suggestion.

konfou commented on 2016-03-19 15:18 (UTC)

@JDCNS It maybe has to do with the bundled nodejs being a different version than the system-wide installed. Right now the community/nodejs is v5.9.0 while the bundled is v0.10.36. This package removes this in favor of the system version. I was getting the same message and using the v0.10 node solved it.

JDCNS commented on 2016-03-09 02:11 (UTC)

So, am I the only one with this problem? I tried to run the post_install, and I get: Error! Command failed: /usr/bin/node /opt/prey-node-client/node_modules/ocelot/runner.js prey /opt/prey-node-client/bin/prey config activate internal/child_process.js:298 throw errnoException(err, 'spawn'); ^ Error: spawn EACCES at exports._errnoException (util.js:856:11) at ChildProcess.spawn (internal/child_process.js:298:11) at exports.spawn (child_process.js:367:9) at run_command (/opt/prey-node-client/node_modules/ocelot/runner.js:60:15) at Object.<anonymous> (/opt/prey-node-client/node_modules/ocelot/runner.js:95:1) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10)

faustinoaq commented on 2016-03-05 08:52 (UTC) (edited on 2016-03-06 15:57 (UTC) by faustinoaq)

Prey 1.5 was not working for me I did this # systemctl enable NetworkManager-wait-online.service And I change target in prey-agent.service ... ... EDIT: I had to restart prey-agent and works well. I did a "prey-restart.timer" for restart "prey-agent" periodically

xpt commented on 2016-02-18 02:41 (UTC)

sha256sum's variables are changed and I change the name of /bin/prey to /bin/pre_proyect ( conflict with prey fps game)

jschorr commented on 2016-02-16 17:57 (UTC)

elv- just change the values of those two lines to have () around them.

zan commented on 2016-02-15 16:05 (UTC)

Both this package and (the fps) install themselves as /usr/bin/prey. One of you two should rename to avoid the unnecessary conflict, and technically prey the game came first (2008 vs 2009).

eang commented on 2016-02-09 18:47 (UTC)

I get the following errors: * sha256sums_x86_64 should be an array * sha256sums_i686 should be an array I guess this is a change of pacman 5.0?

xpt commented on 2016-01-05 00:33 (UTC)

In the post_install script (prey-node-client.install) you run: /opt/prey-node-client/bin/prey config hooks post_install >/dev/null I don't know why you had to do by yourself.

wil93 commented on 2016-01-02 02:54 (UTC) (edited on 2016-01-02 03:13 (UTC) by wil93)

Isn't the 'prey-agent.service' unit file missing? I can't seem to find it. EDIT: nevermind, apparently I had to run `sudo prey config hooks post_install` in order to install the unit file.

eang commented on 2015-09-27 08:13 (UTC)

The package fails to build if the build dir is set to /tmp/makepkg. It should be enough to switch from ../../prey-node-client.patch to "${srcdir}/prey-node-client.patch", when applying the patch at line 31.

xpt commented on 2015-06-11 02:33 (UTC) (edited on 2016-09-10 04:13 (UTC) by xpt)

thanks ThecaTTony :) - for python2 I added a message in the post_install script - i added to the patch file the NetworkManager issue

ThecaTTony commented on 2015-06-05 08:51 (UTC)

Prey needs python2, pygtk (messages and lock screen), NetworkManager (wifi-autoconnect) and a couple of hooks to run as expected. 1- Its python2 so its needs this workaraund: (/opt/prey-node-client/*) 2- For restart NetworkManager daemon prey executes: "service NetworkManager restart" The script /usr/local/bin/service fix this: #!/bin/bash systemctl $2 $1 3- ssh-agent dont work on my system to get logged user's. Other programs that provide that are: gnome-keyring-daemon (gnome-keyring) and kde-authentication-agent (maybe polkit-kde?)

noplomplom commented on 2015-05-01 11:29 (UTC)

Cannot build the package. Error at line 31: ../../prey-node-client.patch: No such file or directory.

niq000 commented on 2015-04-30 17:52 (UTC)

thanks olantwin, i was having trouble getting this configured until I installed lsb-release. +1 that it should be added as a dependency and/or optional

xpt commented on 2015-04-28 19:24 (UTC)

ok, i added wireless_tools as a dependency

commented on 2015-04-28 17:20 (UTC)

It seems that Prey also requires the package wireless_tools as it was not able to connect to their servers without iwlist.

lutoma commented on 2015-03-24 19:27 (UTC)

Dear all, sadly I don't have much time to maintain this right now, so I'm orphaning it. If noone picks it up, I might myself at some later point, but no promises.

shackra commented on 2015-03-19 21:01 (UTC)

NiNjA's workaround seems to work... or maybe upstream fixed the issue they had! IDK

olantwin commented on 2015-03-13 17:14 (UTC)

Can you add lsb-release as dependency (or optional)? The setup gui can't detect distro without it. I also noticed the commented out provides line in the PKGBUILD. Now that the bash client is renamed, maybe uncomment it/add a conflict? Thank you for maintaining this package.

NiNjA commented on 2015-03-09 16:48 (UTC)

It apparently helped to upgrade the linus nodejs package. I issued the following commands as root and now it seems to work as expected: cd /opt/prey-node-client/node_modules npm install linus

mcstayinskool commented on 2015-02-12 15:31 (UTC)

I also tried installing prey from source and hit the same error when trying to configure this. This appears to be an upstream problem and I've contacted them about it.

mcstayinskool commented on 2015-02-12 15:19 (UTC)

Experiencing same issue as daboka below. I checked and /etc/issue exists. It was rw for root only at first (which should have worked fine, as I was running the config using sudo). Expanded the permissions to give everyone read-write, no help. Credentials verified. Linking device... EXCEPTION! object is not a function TypeError: object is not a function at /opt/prey-node-client/node_modules/linus/index.js:19:14 at ChildProcess.exithandler (child_process.js:656:7) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:766:16) at Socket.<anonymous> (child_process.js:979:11) at Socket.emit (events.js:95:17) at Pipe.close (net.js:466:12) EXCEPTION! object is not a function TypeError: object is not a function at /opt/prey-node-client/node_modules/linus/index.js:19:14 at ChildProcess.exithandler (child_process.js:656:7) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:766:16) at Socket.<anonymous> (child_process.js:979:11) at Socket.emit (events.js:95:17) at Pipe.close (net.js:466:12) [prey-node-client]$ ls -al /etc/issue -rw-rw-rw- 1 root root 20 May 28 2014 /etc/issue

daboka commented on 2015-02-08 23:02 (UTC)

Sorry for not responding, I've been away for a few days, tried the new PKGBUILD and also the one from JP-Ellis (looking back on logs applying the patch with the original didn't happen for me either), and still got the same error /etc/issue does exist it's contents are the following: Arch Linux \r (\l)

JP-Ellis commented on 2015-02-04 07:32 (UTC)

In addition to daboka and mattlyons' issues, the PKGBUILD was not working properly for me. In particular, the patch command could not find the appropriate patch. I have done a couple of modifications to the PKGBUILD and moved the preparatory steps into a `prepare()` function and left the installation steps to the `package()` function. The updated PKGBUILD can be seen over at

maxyme commented on 2015-02-03 17:10 (UTC)

warning: directory ownership differs on /opt/prey-node-client/node_modules/which/bin/ filesystem: 996:994 package: 0:0 When upgrading just now. I don't think the directory perms should be marked as 0 in the package. I think this applies to everything in /opt/prey-node-client/

lutoma commented on 2015-02-03 16:29 (UTC)

I'm not an expert on the internals of prey, but it looks like the corresponding lines are trying to read /etc/issue, does that file exist? Or maybe some permission issue? Either way, you should probably report it upstream.

daboka commented on 2015-02-03 15:01 (UTC)

I'm getting this output, when trying to log in (sudo prey config account setup) and the last line of it, when trying to do the same via the GUI. What should I do to fix this? Credentials verified. Linking device... EXCEPTION! object is not a function TypeError: object is not a function at /opt/prey-node-client/node_modules/linus/index.js:19:14 at ChildProcess.exithandler (child_process.js:656:7) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:766:16) at Socket.<anonymous> (child_process.js:979:11) at Socket.emit (events.js:95:17) at Pipe.close (net.js:466:12) EXCEPTION! object is not a function TypeError: object is not a function at /opt/prey-node-client/node_modules/linus/index.js:19:14 at ChildProcess.exithandler (child_process.js:656:7) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:766:16) at Socket.<anonymous> (child_process.js:979:11) at Socket.emit (events.js:95:17) at Pipe.close (net.js:466:12)

commented on 2015-01-27 21:01 (UTC)

Note that need to by source_i686 not 3 and sha256sums_i686 too matchin what is no arch=().

lutoma commented on 2015-01-27 15:07 (UTC)

Just pushed a new PKGBUILD. Includes the version update (1.3.6) and fixed Python paths. For details check

commented on 2015-01-14 23:11 (UTC)

I repport the lack of version on python sheebang to upstrea, they want fix that since is a suggestion too. maybe if you help them fix that this could land upstream faster.

erikw commented on 2015-01-14 20:42 (UTC)

That last comment from me applies to all python scripts, e.g. /opt/prey-node-client/lib/agent/actions/lock/linux/prey-lock.

erikw commented on 2015-01-14 20:28 (UTC)

The PKGBUILD must modify /opt/prey-node-client/lib/agent/actions/alert/linux/ since it is a python2 script but in arch the binary "python" is a symlink to python3. Not doing this disables the feature of sending messages to stolen devices.

commented on 2015-01-14 01:00 (UTC)

also look if the video thing is needed, ,aybe they fix it

commented on 2015-01-14 00:59 (UTC) hehe new release

lutoma commented on 2015-01-12 21:22 (UTC)

Thanks for the suggestions! @mattlyons: I added xawtv, scrot & openssh as dependencies and fixed the video group fix @erikw: prey is now also symlinked to /usr/bin/.

erikw commented on 2015-01-12 20:27 (UTC)

I suggest that the PKGBUILD installes prey(1) in /usr/bin as well.

maxyme commented on 2015-01-08 16:15 (UTC)

To get webcam recording working you need to install xawtv (streamer command) and add the video group to the prey user. To get screenshotting working you need to install scrot. To enable prey to determine the current user (which is required for both of the above features) you need to install OpenSSL (ssh-agent command) I suggest adding these as at least optional dependencies.

lutoma commented on 2015-01-08 01:03 (UTC)

Thanks, updated!

commented on 2015-01-07 21:56 (UTC)

Updated PKGBUILD: pkgname=prey-node-client pkgver=1.3.5 pkgrel=1 pkgdesc="Remote tracking and monitoring application for laptops, smartphones, and other electronic devices" url="" arch=('x86_64' 'i686') license=('GPLv3') depends=('nodejs' 'mpg123') replaces=('prey-tracker') # Should be used as soon as the bash client is renamed #provides=('prey-tracker') install='prey-node-client.install' # The URL uses x64 and x86 to identify architecture. While this is a weird # format, we can just use the last two characters of $CARCH to choose one. source=("${pkgver}/prey-linux-${pkgver}-x${CARCH:(-2)}.zip") [ "$CARCH" == "i686" ] && sha256sums=('556d49a3cd32b4f503c88d1004d9ea8995c598cc942bfabe459eaf03046d19be') [ "$CARCH" == "x86_64" ] && sha256sums=('dbf964bf4e620dbb3247ce074213dfa461ed3c20ff1f3803a113550b5e449637p') package() { cd "${srcdir}/prey-${pkgver}" # We don't need the bundled node.js as we have it installed in the system. # Conveniently, the bash script probes for node.js and automatically uses # the system node if the bundled one is not found. rm bin/node # Disable automatic updates by default sed -i "s/auto_update = true/auto_update = false/" prey.conf.default mkdir -p "$pkgdir/opt/prey-node-client/" cp -r ./* "$pkgdir/opt/prey-node-client/" install -Dm644 license.txt "$pkgdir/usr/share/licenses/$pkgname/license.txt" } # vim:set ts=2 sw=2 et: