<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>pm_search</string>
<key>Program</key>
<string>/full/path/to/bin/pm_search</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
This is another one of those times where I wish SMF had a standardized API.
I don't get a lot of PMs, but I've been contemplating working on a more personalized Spy for myself...
What a great idea. I've been contemplating how I can better organize Tactile subscriptions since people just PM me to get them. Having this tool would be really helpful and I wouldn't have to go to a Google Docs Form or anything.
What a great idea. I've been contemplating how I can better organize Tactile subscriptions since people just PM me to get them. Having this tool would be really helpful and I wouldn't have to go to a Google Docs Form or anything.
This is cool!
How does the crawler get authorized into the GH account? Does it just use your browser session, or do you have to supply login information?
bunny mentioned you were working on this, I have been very curious about the implementation.
I think its pretty awesome you were able to build an application like this using web crawling. :D
I get the twitches from passwords in the clear...or does it encrypt it in the config file? If not I'd be okay with running it on demand and supplying the info at the time. Admittedly, I'm more paranoid than most.This is cool!
How does the crawler get authorized into the GH account? Does it just use your browser session, or do you have to supply login information?
You have to configure the tool initially, or use command line arguments when you launch it. I still have to write the guide for how to do it, but here are the configurable options (so far):
(Attachment Link)
I get the twitches from passwords in the clear...or does it encrypt it in the config file? If not I'd be okay with running it on demand and supplying the info at the time. Admittedly, I'm more paranoid than most.
I get the twitches from passwords in the clear...or does it encrypt it in the config file? If not I'd be okay with running it on demand and supplying the info at the time. Admittedly, I'm more paranoid than most.This is cool!
How does the crawler get authorized into the GH account? Does it just use your browser session, or do you have to supply login information?
You have to configure the tool initially, or use command line arguments when you launch it. I still have to write the guide for how to do it, but here are the configurable options (so far):
(Attachment Link)
I don't even get that many PM's compared to many people around here and I already get lost trying to find something. Having them crawled and indexed is a really good idea.
I get the twitches from passwords in the clear...or does it encrypt it in the config file? If not I'd be okay with running it on demand and supplying the info at the time. Admittedly, I'm more paranoid than most.
The security professional twitchy about plaintext passwords? Ya don't say! :))
Wish there was a reliable cross-platform way to have per-user secrets, but without that it would be good to have a way at runtime to supply credential information.
I get the twitches from passwords in the clear...or does it encrypt it in the config file? If not I'd be okay with running it on demand and supplying the info at the time. Admittedly, I'm more paranoid than most.This is cool!
How does the crawler get authorized into the GH account? Does it just use your browser session, or do you have to supply login information?
You have to configure the tool initially, or use command line arguments when you launch it. I still have to write the guide for how to do it, but here are the configurable options (so far):
(Attachment Link)
I don't even get that many PM's compared to many people around here and I already get lost trying to find something. Having them crawled and indexed is a really good idea.
This is something I am also concerned about, but for the first pass I didn't try to solve that problem. On a mac and linux I put it in a hidden folder on your system. On windows I plan to make it hidden and a system file so you have to really be looking for it to be able to find it (still need to do this). Unfortunately I can't one way hash it because I need to be able to decrypt it in order to authenticate on GH. I am considering encrypting it, but if I open source the tool, then if someone does actually get onto your system they will know the encryption algorithm from the open source code and if they have gotten that far they can easily write a tool to decrypt it.
Right now if you use the command line arguments the first time, it will actually save the credentials into the config file, so that does not really solve the problem in your case. What I will probably do is create encryption and then only save the encrypted pass to the config file and make sure that if the clear text pass is ever configured in the config file or via the command line it will not persist in the config file. This way if you change your password on GH, you can just pass in the 'pass' argument or put it in the config file and it will re-encrypt your password and then remove it from the config. Would this help you rest easy???
Regarding adding better security options, this is what I propose...
Allow for both the user and pass to be either entered via command line arguments or through the config file. If you enter both the user and pass in either location, it will assume you want the password saved because you entered it in clear text. It will encrypt the pass and save it into a new field in the config file and set the pass to "" in the config file.
If you enter only the user via the command line, the software will assume you want the utmost security and will prompt for you password at application start without displaying the password at any time. In this case the software will not save the password in any way (even encrypted), so you will need to pass the user every time you launch the application and enter your pass at the command prompt.
If you are not super paranoid, you can enter the pass in clear text via the command line and it will be saved in an encrypted format for you. You can then clear your bash_history to remove any traces of the clear text pass and use the application without having to enter a pass again. If you are super paranoid, then you can just enter the user and be prompted for the hidden pass every time you use the application.
That should cover the security concerns. Do you guys agree?
Regarding adding better security options, this is what I propose...
[snip good stuff]
That should cover the security concerns. Do you guys agree?
Regarding adding better security options, this is what I propose...
[snip good stuff]
That should cover the security concerns. Do you guys agree?
Yes. That sounds like a good compromise that allows for varying degrees of paranoid users!
$ ./bin/pm_search_darwin_amd64
'-user' is required
-page_size=50: Number of PMs to show on each page
-pass="": Your GH password
-pass_hash="": Dynamic: Do not modify this...
-port=8888: The port the pm_search app should listen on
-stored_pm=0: Dynamic: Last indexed PM. To re-index, set to: 0
-user="": Your GH username
$ ./bin/pm_search_darwin_amd64 -user=swill
Enter your GH password:
^C
$ # the user will be saved to the config file now, so I don't have to pass it again
$ ./bin/pm_search_darwin_amd64
Enter your GH password:
^C
$ # here I manually modify the config file to add my password in clear text
$ # passing the '-pass' arg would do the same thing, but I am showing output, so no
$ vim ~/.pm_search/pm_search.conf
$ ./bin/pm_search_darwin_amd64
^C
$ # not prompted anymore because the password config is pulled from the config file
$ cat ~/.pm_search/pm_search.conf
pass_hash = a687bf46d4bd2a2b07c3becauseiamnotanidiotd696269af4b7b3e1
stored_pm = 1195354
user = swill
pass =
$ # the clear text password has been removed from the config and replaced with a hashed pass
Not working all too well on chrome with windows 8.1 64bit
I setup the local webserver but my search queries don't give that many results (definitely less than it should be)
Not working all too well on chrome with windows 8.1 64bit
I setup the local webserver but my search queries don't give that many results (definitely less than it should be)
Still not working =S
I imagine it's only saving the first page of PMs?
That's what it looks like given what it's showing
Still not working =S
I imagine it's only saving the first page of PMs?
That's what it looks like given what it's showing
Make sure this is checked in you PM Settings. I am guessing its not...Show Image(https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/swill/pm_search/assets/pm_search_recent_top.png)
OK. So your most recent pm is at the top of page 1? What theme are you using?Still not working =S
I imagine it's only saving the first page of PMs?
That's what it looks like given what it's showing
Make sure this is checked in you PM Settings. I am guessing its not...Show Image(https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/swill/pm_search/assets/pm_search_recent_top.png)
Yup, it's checked
OK. So your most recent pm is at the top of page 1? What theme are you using?Still not working =S
I imagine it's only saving the first page of PMs?
That's what it looks like given what it's showing
Make sure this is checked in you PM Settings. I am guessing its not...Show Image(https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/swill/pm_search/assets/pm_search_recent_top.png)
Yup, it's checked
Can you try to set the flag '-stored_pm=0' to force a reindex and see if you still have a problem?
Are there any errors in the log? HOME/.pm_search/pm_search.log
Edit: I'm off to bed. I will troubleshoot tomorrow on the train. Send me all the details you can, here or in a pm and I will investigate.
Perfect. Something must have interrupted the first index. Glad it was easy to fix. :)OK. So your most recent pm is at the top of page 1? What theme are you using?Still not working =S
I imagine it's only saving the first page of PMs?
That's what it looks like given what it's showing
Make sure this is checked in you PM Settings. I am guessing its not...Show Image(https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/swill/pm_search/assets/pm_search_recent_top.png)
Yup, it's checked
Can you try to set the flag '-stored_pm=0' to force a reindex and see if you still have a problem?
Are there any errors in the log? HOME/.pm_search/pm_search.log
Edit: I'm off to bed. I will troubleshoot tomorrow on the train. Send me all the details you can, here or in a pm and I will investigate.
Reindexing solved it!
Just tested Linux 386 on a low powered netbook and it indexed 10 pages of PMs in well under a minute - very impressive!If you use the 'all at once' display when you first index it is way faster.
Gave it another test on my phone (Sailfish Linux) while waiting for an egg timer at work, worked perfectly and was just as quick as my netbook!
This is an alpha so there must be some bugs - I'm going to keep looking :P
Um...Please bear with me. I'm really bad at this kinda stuff. I want to try the Alpha but I'm honestly not sure where to start.
Gave it another test on my phone (Sailfish Linux) while waiting for an egg timer at work, worked perfectly and was just as quick as my netbook!
This is an alpha so there must be some bugs - I'm going to keep looking :P
Really? This worked on your phone? I didn't try to do anything to try to make it support mobile. I guess being Linux is the reason it worked. I won't work on any other mobiles because I don't think I have a binary that could work on other mobiles.
Glad to see people testing it though. :)
Ah I didn't see the readme (obviously). Sorry about that. Also just as an FYI, the blue font in the OP is impossible to read on the Nostalgia theme.Oh. Thanks for letting me know. Does purple work in that theme?
Cool. :)Gave it another test on my phone (Sailfish Linux) while waiting for an egg timer at work, worked perfectly and was just as quick as my netbook!
This is an alpha so there must be some bugs - I'm going to keep looking
Really? This worked on your phone? I didn't try to do anything to try to make it support mobile. I guess being Linux is the reason it worked. I won't work on any other mobiles because I don't think I have a binary that could work on other mobiles.
Glad to see people testing it though. :)
Yup! I've uploaded a video to youtube but it's taking too long and it's nearly 2am...
Out of interest what is the Arm binary supposed to be run on, a Raspberry Pi?
Been messing with this and it's been amazing so far. I'll keep messing with it to see if I can find any issues. Thanks for making this swill!!Awesome! Glad to hear people are appreciating the functionality. I really just started writing it because I wanted to try some stuff and a comment bunny made in conversation caught my attention. Once I validated the idea I pinged bunny to see if he would be interested in it if I built it, and he seemed stoked by the prospect.
Is it possible to sort the search results after they come up? Like how you sort files in Windows by date or file size? Or is that a function of the search query?The search determines the order based on the relevance of the terms you specify. Check the help ( ? ) to see all the options. Boosting is probably what you are looking for to give relative importance. Also, inclusion and exclusion is very powerful to reduce search results especially when combined with fields.
I'd be very interested in having the ability to add tags btw. And I'll reread the help. The examples are a bit confusing, not going to lie. Thanks.By tags you mean to be able to search by the labels that you can organize your PMs by in GH?
I still don't really understand how to get the search to sort by date. The help file is confusing for me.
Edit: Also your poll just educated me to the fact that there's labels in PMs. Really wish I knew about that before.
I'll take you up on the Skype session when I find some free time. Thanks for offering :)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>pm_search</string>
<key>Program</key>
<string>/full/path/to/bin/pm_search</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>