Silk Road forums

Discussion => Silk Road discussion => Topic started by: SelfSovereignty on February 16, 2013, 11:44 pm

Title: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 16, 2013, 11:44 pm
-= Program website (just a placeholder):  http://5kqzr7ezpohedxxa.onion/
     Final site (still under construction):     http://5kqzr7ezpohedxxa.onion/new/

-= v1.1.0 Windows all-in-one installer; zip files and exe files aren't recognized, hence the .gz file type.  When asked, put Ruby in the default location!
     http://5kqzr7ezpohedxxa.onion/metasilk-1.1.0-install.exe.gz

-= v1.2.0 tarball of Metasilk and some of the required gems (libraries), does not include Ruby.
    http://5kqzr7ezpohedxxa.onion/metasilk-1.2.0.tar.gz


- So here's the deal.  The readme is in the following post, but is a little outdated.  Almost all of it still applies though, the prog just does a little more.

- Windows Installer: If you want a really simple Windows-style installation program, just download the Windows installer.  What it does is install Ruby (v1.9.3-p392 as of this writing), the necessary gems, copy the Metasilk files, and then give you a start menu shortcut if you check that box during install.  Obviously this is a little bit less transparent than copying all code yourself and looking to make sure you really are running the safe code that's been vouched for.  Frankly it doesn't really matter, I promise it's the same code and the installer is doing nothing else, but whatever you're most comfortable with (security vs. convenience) is the best choice for you.

- Screenshot of v0.6.0 (Linux):       http://5kqzr7ezpohedxxa.onion/snapshot-0.6.0-scrubbed.png
- Screenshot of v0.5.1 (Windows):  http://5kqzr7ezpohedxxa.onion/snapshot-0.5.2-win.png


Quote from: Known Bugs
Known bugs -- updated for v1.0.4
==============================================

* Disabling display of balance in BTC causes an unrecoverable error upon updating.

* Searching by keyword works.  Sorting on the "smart sort" column sorts by category, then subsorts by price (low to high); but a ton of gtk-critical-warnings spew forth if you sort the search results list while it's still actively looking up & adding listings to the results.  It doesn't crash on my system, and the program recovers just fine the way it's supposed to, but the "critical" warnings (wtf definition of "critical" do the glib devs use?) are unnerving if you see them.  They also could crash the program on other systems for all I know.  So in short: if it crashes, don't sort until the list is finished being loaded (the progress bar will say 100% when it's done).

* The incognito enable/disable functions work on my basically-unused account, but not on my real buyer's account.  I don't understand why, but if it works for you, awesome.  If not, figure out why & tell me & I'll fix it :)

* There may be an issue with logging in more than once per run of the program.  You can load as many sessions as you want, but there's some unpredictable difficulty getting more than a single authenticated session ID until the prog is restarted.  Dunno, I'll figure it out for next version.


Quote from: ChangeLog.txt
Date:   Mon Apr 22 2013

    Updated the URL used to access BitcoinCharts.com's API, as they're
    removing the old URL next month.


Date:   Sun Apr 7 2013

    Added decryption using GPG to the gpg_interface code.


Date:   Thu Apr 4 2013

    Fixed a bug that was causing the login operation to mistakenly abort if
    a specific step failed for any reason (it should always retry timeouts
    and the like).


Date:   Thu Apr 4 2013

    Added an option to disable the error popups seen when unrecoverable
    errors cause an operation to be aborted.  If nothing else, at least this
    will allow some kind of work-around for any bugs that start causing
    problems in the future (if the site changes, but not enough to make the
    basic functions unusable and I'm in prison or something, heh).


Date:   Sat Mar 30 2013

    Fixed a problem with the configuration settings not being properly
    initialized upon first run of the program.
   
    Disabled the BTC balance display button in the options window, since
    it's bugged and causes errors if disabled.


Date:   Fri Mar 29 2013

    Fixed an issue causing an error the first run in the performance library
    code.

Date:   Fri Mar 29 2013

    Balances over 999 weren't parsed properly when displayed in BTC.  Fixed.


Date:   Fri Mar 29 2013

    The program log wasn't displaying the account balance correctly when
    echoing the updated values upon a change; fixed.


Date:   Fri Mar 29 2013

    In Windows, the Net/HTTP lib is frequently failing due to an exception
    not being properly propagated across threads.  This has been causing an
    unrecoverable error box to popup repeatedly.  I don't know how anybody
    used the program with that happening, it must have been incredibly
    aggravating... should be fixed.  If it happens again, just let me
    know and I'll take care of it.

Date:   Sun Mar 24 2013

    Added some tooltips to the main window's menu items, since what they do
    probably isn't as obvious to everyone else as it is to the guy who wrote
    the program...
   
    Added a window that displays the program's known bugs; you can find it
    in the help menu.
   
    Disabled the "browse" menu item, since it's unimplemented and confusing
    otherwise.
   
    Added options to select which currencies you want Metasilk to display
    your account balance in.  It can be any combination of USD, EUR, and
    BTC (in fact it can even be none of those if you really want).
   
    Changed the type hint of the login dialog to "normal," in order to fix
    some window managers not displaying any title bar for it.

Date:   Fri Mar 22 2013

    I'm incrementing the version number to 1.0, since it's both stable and
    relatively finished.  Primarily it's because this is probably going to
    be the last version for quite awhile; it's possible I may never release
    another one.


Date:   Fri Mar 22 2013

    Adding a few more untracked files to revision control.


Date:   Fri Mar 22 2013

    Added detection of balance changes and triggering of the corresponding
    event, which plays the sound file you set in the options.  A cash
    register is the default setting.  Note that changes less than 5 USD
    are ignored, since the BTC exchange rate fluctuates & changes
    estimated balance by small values.
   
    Account balances are now displayed in US dollars, euros, and bitcoins
    simultaneously.  The euro value is the straight BTC to euro trading
    rate (as opposed to calculated with a BTC -> USD -> euro rate).
   
    Changed the variation of pause time between cycles from +/- 60 secs to
    +/- 30 secs.


Date:   Fri Mar 22 2013

    Incrementing version_minor to the next release's value.


Date:   Fri Mar 22 2013

    Adding overlooked files to revision control.


Date:   Fri Mar 22 2013

    If automatic checking for account activity is paused mid-check, the
    check will now be properly stopped; the cycle will be restarted upon
    being re-enabled without any delay.


Date:   Mon Mar 18 2013

    Improved the Makefile installation routine; hopefully it'll work on more systems this way.
   
    The program wasn't properly creating an initial empty config file to
    store preferences in, causing it to never start the first time.  Fixed.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 16, 2013, 11:48 pm
Metasilk
========


A free and open source client application and API for making travelers on the Silk Road a little more comfortable.  Primarily of interest to vendors who use the site frequently, though I find it useful even as a customer.  For example, anytime I make a deposit I use Metasilk so that I'm automatically notified the minute SR credits my account.

That said, it's unlikely to be worthwhile for your average weekend warrior.  It's free, but honestly it took a lot of time -- if you like it and use it, BTC donations can be made to:

1DLVXbayVtqMBiaK9SuoFzM7PchVb4uCt9

... and would be greatly appreciated.  Truthfully I use SR quite a bit and am more often than not completely broke.



### Purpose

It started as a generic API for other utilities to interface with SR, but it turned into an always-on, always-current monitor for activity on your Silk Road account.  It can be used either way, but the focus is really on it being a stand alone client app at this point.  It notifies you of unread messages, outstanding orders, and always keeps you apprised of the current balance of your account (in both USD and BTC at once, naturally).  It's actually about as pretty and easy to use as your average Windows program too if you just stick to the GUI.

Basically it simulates full push notifications for activity on your Silk Road account, e.g. the way your mobile phone notifies you of email as soon as you get it (as opposed to pull notifications, which is what having to refresh the page is -- as in you're "pulling" the latest activity, it isn't being "pushed" to you as it happens).

It launches into the GUI by default, but there's also a low level (nongraphical) terminal mode available for you to make use of if you like that sort of thing as much as I do.  The program implements command history recall, history search, tab completion, etc. in the terminal interface.  You can see usage information by using the standard Linux "-h" or "--help" arguments when executing the program if you're interested.

The program is written in Ruby and uses GTK+2, Glade-3, and VRLib.  It's confirmed as working in Linux, Windows 7, and Windows 8.  Should work on a Mac or WinXP too, but don't quote me on it.



### Feature list


1. Status tray icon that flashes when there's new activity.  Keeps flashing until you interact with it (so you'll know if something happened while AFK), and won't flash again until something new happens once it stops.

   1.1 It also plays a sound file when a new message or a new order come in, so you can go play a video game while you wait or something.  The two sound files are different so you know which event occurred without having to get up and look.

   1.2 You can change the sounds if you want.  Just replace "mail.wav" or "order.wav" with your own file(s) for it to play.  Go ahead, overwrite the file.  If it's a wav it'll work fine.  An MP3 may or may not work on your system.
 
   1.3 If you really want to play an MP3 but it isn't working, to convert from mp3 format to wav, type:

          sudo apt-get install sox
          sox audio_file.mp3 mail.wav

      ... and prest-o change-o, it (sort of) plays your mp3 :)

   1.4 Clicking on the status tray icon toggles visibility of the full status window so it isn't in your way all the time.

   1.5 Let the mouse hover over the tray icon to show a brief tooltip with the current message count, order count, and balance shown.


2. A cute little window that provides current account status at a glance, including BTC and USD at the same time (naturally).

   2.1 It retries any failed connections automatically so that you know you're always seeing the latest information.  Just sit back and let it do it's thing, it'll take care of all that hassle on its own.


3. There's some mediocre support for sending messages and reading unread messages (including PGP encryption).  Hopefully it'll make customer service slightly less aggravating for you.


4. A slightly more advanced (as in non-graphical) mode if you want to use the terminal interface (run it with "-c" to get there).  It's kind of like a Ruby version of bash, more or less; tab completion, command history, etc.  I find GUI programming tedious and boring, so there's a lot of stuff that doesn't have buttons.

   4.1 You can also evaluate any valid Ruby code on-the-fly in the terminal interface if you want to (the terminal interface command "irb" launches an interactive Ruby instance in the same addres space/environment as the app).


5. The underlying API, which as the program wandered away from a generic SR API and toward an end user-centric utility got less and less useful.  If it's helpful to you, then go ahead and use it.  As an example of what I mean, you can use the project as a library for your own code and fetch 1 or more (including all) pages of your Silk Road inbox with a single method (see "Message::list" in the API docs).  Each page is fetched simultaneously in a devoted thread, as is the case with many of the features it provides (it takes into account strain on the server though, so don't expect it to go fetching 53 pages at the same time or something).  The return of Message::list is an array of Message objects, each containing all the relevant data of a single message in the inbox.  You would then presumably proceed to make use of your ninja-coding skills to do super cool stuff with those messages instead of waiting for SR to implement all that sweet ninja goodness for you.  You get the idea.

Note that not all the method calls Metasilk provides are so neat and tidy: as I said, it turned into a client for end users mostly, but the API is still there -- that's what it uses itself, after all.


If you write some sweet code that uses Metasilk to do the lifting, as always, donations for my time and effort would be appreciated.  You're free to use it as you wish either way, PROVIDED you only use it in a manner consistent with your government's laws: I do not condone illegal activity of any kind, nor are you allowed to use this program in an illegal manner.  Your download and use of this application signify your agreement to this legally binding End User Licensing Agreement.  You are hereby notified of further restrictions on liability, fitness, and implications of distribution in the LICENSE.txt file.  If you do not agree to these terms, you may not use this program until such time that you do agree.

... because I'll come and find you and stop you, and... stuff.  Yeah, and stuff: lots of it, too, so you best watch out!



### Speed / reliability


It's not _much_ faster than a browser, but it is a little bit faster and it's a lot less irritating, that's for sure -- Metasilk doesn't just time out and say "unable to load page, try again later."  It fucking tells you something went wrong so you know why you're going to be waiting a few seconds longer than you thought for an update, then it goes and it fucking tries it again.  And again.  And fucking again if it has to.  Fuck this "manual reloading" shit.  It also plays sounds so you don't have to wander over to your computer to check if you've got an order.

It does a really good job of making things look smooth, but it's not magic or anything.  Sometimes connections fail or are slow.  You can just walk away if you want and it'll do what it has to do in order to keep its data as current as it can.  If you like it and find yourself using it all the time, throw me some bitcoins now and then.  The fact of the matter is I'm on SR for a reason: I don't like all drugs, but I'm very into my DoC and am more often than not quite literally broke.  Help me get healthy organic fruits and veggies to offset the poisonous drugs a little bit, won't you?  :)

Yes.  I am really a vegetarian health conscious drug addict.  I want to do my DoC, not be sickly and unhealthy.




### Security


I consider myself a man of integrity and of my word: when I say that this program is in no way trying to harm you or anyone else, I hope that's good enough for most of you.  If not though, it's open source software -- you can look at it and change it all you like.  I'd be pretty delusional if I wrote malicious code and then expected that no one anywhere in the entire world would notice even while staring right at it, now wouldn't I be.



### Caching sessions to file

Metasilk allows you to save the current session cookie and reuse it later in order to bypass the slow login.  Why not solve the captcha programmatically?  Doing that is incredibly difficult even for simple ones like SR uses; infact, most often people just buy subscriptions to captcha solving services -- which themselves usually use real people solving them in real-time.

Passwords aren't saved, just the authentication token the website uses to identify you as properly logged in.  Basically, if you don't explicitly logout, the site has no way of knowing your browser ever even closed -- so it continues to accept the cookie days later when it sees it again.

If you like this feature, then use it.  It's very convenient, and session cookies remain valid for quite a long time.  It does, however, provide an attacker that gains access to your system complete access to your account without any additional information necessary (it will NOT compromise your PIN, however, so your transactions would still be as safe as they can be with someone else logged in as you -- but messages, account history, and everything else not PIN-protected would be in their hands).

If at some point you decide you're not comfortable with the session cookies hanging around, then just start the program and select "save session" before you login.  It'll save an empty/blank cookie, effectively clearing it (until you tell Metasilk to save a logged-in session cookie again).  It's completely up to you, but security is only at risk if someone has access to that local (100% plaintext) file.  It's just as secure as usual if nobody can get to the file.

You can always wipe this away by deleting/shredding/whatever-you-want the "$HOME/.metasilk/cookies" file manually if you like, as well.


### Other data files

Metasilk does not keep any data anywhere except for the $HOME/.metasilk directory.  If you remove everything in that directory, there won't be any trace of your Silk Road activities left (except what a forensics expert could recover from the disk, which poses the same risk as such a circumstance always does).  It also will never save your password or username.  Note that it's possible to specify the directory Metasilk uses for data files (see the "-d" startup parameter).  If you do that, obviously the previous statement is no longer true -- Metasilk will not store that location nor remind you of it next time you run the program.  If you specify the directory, it's your responsibility to remember the contents of it.  If you really care, that is; there's hardly anything in the files anyway though.


## ZOMG, H4x3rz!

Given that the Firefox browser most people use (the Tor browser is a version of Firefox) is ridiculously complex and full-featured for what we need, Metasilk is actually safer.  What makes me say that, you might ask (and rightly so): Metasilk does not include a JavaScript interpreter.  It does not parse HTML, XML, or any other markup beyond scanning for data points to internalize for use with its API (the GUI gets it's info via the underlying API).  It does not support Java or any other plugins or extensions.  It has no forgotten or dated features from 1992 that provide yet another zero-day exploit to be used by those out to do you harm.  It does only what it needs to do with the site, and that's it.

If you don't know, zero-day exploits/attacks are ones that have never been seen before (as in the attack takes place on day zero).  They're often catastrophic and nearly impossible to detect -- for a time, anyway.


## Data leaks, e.g. rogue DNS queries

There are none that I know of.  Metasilk will never allow a TCP connection to bypass Tor (this only applies to connections Metasilk makes, note that it doesn't mean Metasilk protects any other programs).  It makes no DNS queries itself, it only connects to Tor and passes the info along.  Other than the SR onion site, it does connect a few times an hour to bitcoincharts.com through Tor -- this is in order to show you accurate USD + BTC values at the same time (bitcoincharts.com offers a free-to-query-on-occasion API for various exchange data).  As you know, SR only provides your balance in either BTC or USD, not both: Metasilk needs to get the most current value of a bitcoin from somebody somewhere so it can calculate the one SR isn't giving it.

Every program has bugs.  Period.  Mine are not exceptions to this.  I do, however, consider your (and my) safety to be a matter of the highest priority.  I don't take it lightly when someone assumes I know what I'm talking about and places their faith in me one way or another; I recognize that anyone who uses this program is trusting me, and I have no plans of proving anyone's trust as misplaced.  There are mean people out there who would like to see us all, buyer and seller alike, lose our basic freedom.  I don't plan on making that any easier for them to accomplish.

If you find any issues, be sure to point it out to me and anyone else you feel compelled to tell.  You'll probably want to tell me FIRST, though, so I can fix it quickly before you go telling everyone everywhere how to make use of whatever bug you've found.  Always remember that these are very serious charges vendors are playing with: responsible disclosure could save decades of many people's lives, or even their actual life itself.  In short, please think about the people who want to steal from and/or arrest us all before you go yapping publicly.

Feel free to bring things up with me if you're concerned.  There's no shame in being wrong -- it happens to all of us now and then -- so if you suspect something, go ahead and send me some mail (preferably encrypted) mail about it.  Please provide your own public key for me to encrypt my response with as well.  I tend to err on the side of caution, and if you're asking me for sensitive information and/or not giving me a way to encrypt my message, I'm likely going to assume you're trying to bait me or aren't a careful enough person for me to associate with in such matters.

That means I'd delete your message and write you off as someone who's more trouble than you're worth.  Nothing personal, you understand: it's just my strong interest in self preservation.



INSTALLATION
============

Just run `make' to install all dependencies, then run `metasilk.rb' to use the program.  This is with Ubuntu, the most common Linux distribution, in mind.  Basically what it needs is Ruby 1.9 and some gems, but the gem installation doesn't vary from distro to distro, so once you get Ruby 1.9 installed the "gem" command can take care of the rest (just type "make gems" if you have to).

If you want to see what things are going to be installed, just run "make -n" so that it'll show you without doing any of them.  Or decide later and run it without root privileges for now -- no harm in watching it repeatedly fail to change anything at all (not to mention fail to run, since it won't have any of the required libraries to use).  To be clear, Metasilk does not require any special privileges to run.  It does need to download and install a few harmless dependencies that it uses though, which requires escalated permissions to do.  All the gritty low-level details of what it "installs" are in the Makefile if you want to look.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 16, 2013, 11:50 pm
Could you do this for buyers as well? This would be awesome, an always on notifier would be so much fucking better than having to login all the time. Also the auto reload would be a motherfucking godsend
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 17, 2013, 12:14 am
Could you do this for buyers as well? This would be awesome, an always on notifier would be so much fucking better than having to login all the time. Also the auto reload would be a motherfucking godsend

It works with either account type.  I never intended for it to be a huge full-blown replacement for every feature SR provides though: you can perform searches and look at profiles and all that stuff in the terminal interface, but there's no GUI or buttons to click for it.  I mean technically it can do anything the site can do, but you have to drop into the terminal to accomplish it -- and it's not exactly user friendly.  (i.e. I'm probably the only person who finds the terminal interface more convenient than browsing the site).

If you're asking whether I intend to make it able to place orders... no, I don't plan on it.  But I didn't really plan on it having a shiny GUI with buttons either, it was supposed to provide an API interface to Silk Road and that's it... so you never know.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 17, 2013, 12:21 am
Could you do this for buyers as well? This would be awesome, an always on notifier would be so much fucking better than having to login all the time. Also the auto reload would be a motherfucking godsend

It works with either account type.  I never intended for it to be a huge full-blown replacement for every feature SR provides though: you can perform searches and look at profiles and all that stuff in the terminal interface, but there's no GUI or buttons to click for it.  I mean technically it can do anything the site can do, but you have to drop into the terminal to accomplish it -- and it's not exactly user friendly.  (i.e. I'm probably the only person who finds the terminal interface more convenient than browsing the site).

If you're asking whether I intend to make it able to place orders... no, I don't plan on it.  But I didn't really plan on it having a shiny GUI with buttons either, it was supposed to provide an API interface to Silk Road and that's it... so you never know.

I wasn't suggesting it handle sensitive functions involving the pin at all. However being able to read/write messages with active notifications and check your balance would be fantastic. Also if you somehow managed to work a forum API in there it'd be great. That way we only depend on the actual TOR browser when it comes to sensitive pin functions. What do you think?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 17, 2013, 12:36 am
I think I'm a total nerd who enjoys coding and is insane enough to actually do it in my spare time for pleasure quite often.  I'd personally find that extremely useful and would love to have a tool that did all that.

That said, I mean it when I say I'm usually broke: my time isn't infinite.  When I think it's ready for your average person to d/l it though, it's still going to be 100% open source.  I can't be the only person on SR who knows how to write code and understands this stuff well enough to not fuck it up.

It already sends messages with support for encryption.  It also notifies you with 100% reliability whenever your balance changes, a message comes in, or an order comes in -- for both buyer and vendor accounts.  The whole reading of messages is a bit limited still though; the only GUI for messages allows you to send them just fine, and to read the oldest unread message -- but that's it.  Good enough to read your mail without the site and respond, but not much else.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 17, 2013, 01:35 am
So I've asked this once before publicly and even asked a vendor friend of mine privately, but nobody's gotten around to providing me with the information.  I wrote a client application for interacting with Silk Road, including a general purpose API (note that it's not finished yet, but it's fully functional).

I do not have a vendor account, and I have never seen the page that vendors use regarding orders.  Initially I intended to write a quick, clean, fast client for Silk Road because it seems that everyone who's forced to use the site is a) grateful that it's providing the service it does, and b) fucking abhors the slow, unreliable web interface.  I have no server access, so instead of fixing the server side code like any sane developer would do, I went ahead and wrote a client that does the next best thing.

But I HAVE NEVER SEEN THE VENDOR ORDERS PAGE, rawr!  I cannot program an API and point-and-click functions when I don't even fucking know what they're supposed to do.  I need someone to THOROUGHLY STERILIZE the XHTML source of the pages associated with vendor orders (as in what you see if you right-click and select "view source").  It needs to be cleaned by hand of all customer information and whatever else you think is sensitive -- I just need a peek at the DOM tree and stuff to make it work.

Sure, I could be baiting somebody to try and hack their account; except I'm not.  Here, have the README.txt as evidence; it won't fit in the same post, so it'll be immediately below this one.  Or ask eddiethegun or astor, they've both tested it and security audited it and stuff for me.  Eddie in particular put a good amount of his own time in to fixing some cross platform bugs for me (just giving credit where it's due and all).  I'd go pester Eddie some more about it, but he's been awfully generous with his time already, so I'd rather not hassle him further if I can avoid it.  That's why I'm asking here instead of somebody I know.  I use the site a lot, but I'm not exactly best of pals with the whole gang, ya know.


... now will somebody please email me the source of the pages so I can make your lives easier?  Public key follows and can also be found in my sig.  Email address is SelfSovereignty@tormail.org.

Muchos gracias, mi amigos.



Code: [Select]
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFC3cewBCADL4Z+pioNDdftgt4UteZzKvhWWYcVLRyziMzgIC/DoYSd7UKqw
eeffwZkpApXNaMbyBFDUDlLKKM/EWh26SJYMuslyLrFMF15422CUNPGHGb7bF1kB
SBOxv1jfLwdPN8GUnjITHkSzQGhr8Rd/SQDq4iKHCid6/LNlssrB0D8AmtpXt3TG
zOaaswWR9u65dTXq8niTBiY41zYFghN8vhLmYjtJtGKJUqjbLH4LltlqYeLYjMhL
UaDOSAlUoBv/6lJr9CtzsxxQSlqGqnMUkOhoR+wMKBcHAGA8ySImSYKT9ehCrzTp
lnPcfUITzgOh/xIx86brSOgM6fg+PwmNv9ztABEBAAG0LVNlbGZTb3ZlcmVpZ250
eSA8U2VsZlNvdmVyZWlnbnR5QHRvcm1haWwub3JnPokBOAQTAQIAIgUCULdx7AIb
AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQMUw9O+EXelKrHggAjsCLsJYd
KuvMYQlTi+sEB5uflr5cHIGYAwgxWcZggHapWtGwT1kCQIuWHLoSnmsWbao1DPrQ
wSokDmCV6rhuL2nKadnhXHL80wj8hJTLNX0r4pVfDEG0ef6Kfim2dhPr5fzfSkBU
PkGBpU3yRCoRy6zMGAex+gX5aKJa3eIrAQvtX4WlOagbkiJe4M1ykOW8E01EsZw4
LDFF5hGdpxTs+ldcFZiKAA+6SPjSEak+BzzQ+DGJ1G+Poy8aJbtm+bVUcWZv/2dJ
2DXcym81BEAs26Oy9WzZ0LYW2N6gzQW5Ph0W2+k0/RclYqmUuogzWJkr3JoF3Roy
ok1V5fC0DQd9nrkBDQRQt3HsAQgAz4Lj4c16C5e+MehuSa2Ogq9Paqm1GhqdwQjA
Ae5oAplJqg9HJCV411mOzFcPFOju2RTY2PMhzI71/H7gM+sBRy5skky7iN8WmpH3
3zfsQXFU1xOPWCmXx7en1XyYjHuR1R0uCvlIa0mXqV5nhI7QRPoQuJIfglC1i270
GMoFyBDwsc4JlBmbjrE/Gl50HvwZRg3PZ3RpshmhVBUVY2emYPDVjxOBwxhkmSnZ
/c8FovZoZ7S0lK/hw7RjaqYpKPIvQhxG3VSLNNRaCBPAeYmiSpdVjXHey8LRbfWH
Uj7U0Ptuou4AJiVLwOGlJ0dDCBZ0V2dDcAL5zDGWJ3dMdSLMxQARAQABiQEfBBgB
AgAJBQJQt3HsAhsMAAoJEDFMPTvhF3pSBFAIAIHti+YK2Wnw/3mUIxTXJTCoug+G
bmz9J7d7D90mheQ9VaUSztPrjSOojZK7jBeWIU2QSHSwymXPUFKJS4oFj0CQo951
RWQDDReMtVcL4ZmiMFmqF9CCcyrg+cH7/2UpjehavM0tEdTFmK89OFQBxkOFSr3d
e9rPnFzCcKO3r4wylhUmtgtP9BVCT1O8fZftNd+gbhYjW81PAx+qxI07guG4XcjG
7wtSu/88cP9ifRLHkMlGw4IzRHMoNeWIl9sFAQbJ5/jOHERwAcpi53w85y7gTmp6
lC44z4doqz3oaI0aB4rt11ksdRoH+wVz1g27JXkj0qmUwfidP2kuEtUTvee5Ag0E
UO7PgwEQANxjQQnpksDYvTfuGCG1v+/TjY2cpqid8xDIXVqyLihiz2ZzrbzjxNYC
suXvzSn1SbECShbfWTqk8e506PCBc9bhj7fIDulGFmkRULenlx8SO7i7iTbniMf7
gb7oRZcoX4my1DbnSQSN5ZR6EF5N2ZYuJ34Sa7Nn4WxDOFq3YtQ2l+olDdjh+Cpw
NQlOLRuME+UqJ5grg26/bYFGS6IyGjKtZwZcbZk14NIpMpxXVHaUQu+AXpV5sAGZ
fzIz3rkMq8+IaCD3+8KWkOQ5AR3DptfvFVLlkDL0obhIfUwa6jhQtxdoKFotMcY0
JgrQy4jF0/Ul/k+uGBCN5bAC5pI8nnGCXRwyXYquo7GTuLsBB60/DIG8SSrWPLcp
imwIXh1gpPRDTwZcHsGCPYBLPyDRNPFKM8CC/xS/Y35I4xnsdU8wA7WEjPPXS6zp
lHvYa6TKUE3pW8zuAVD8m9HVIPwK+Pm9f+m51hUP3d8W9kRYvSYu/UOAWExaejJJ
Dxj2gENARfmbqMrqiycLeRIMHfgppQ8osKh0isAVOnzOqISv5oKU+xd91/66cG+V
w0Fzbr9A4OMJwRPY48+Bvy4KwunrLaEfVNsGjrarHxTQTct4bxd8XzBrBhCcbBP9
ORuoxEBTr8ioot+MGZJqy9qsyCxCBl8yYnnNfu07esrEwxHCZip7ABEBAAGJAR8E
GAECAAkFAlDuz4MCGwwACgkQMUw9O+EXelJe5gf/Q0H0ECBTcQqMkKa4ZJVadp67
K6NiGthHWFPmPWCWmx972tx2P7dqACPoFyV+0ljz+li/tjruAOZt/VJF+ZCA50FV
c/DNRGTANceGvlHGMDb+Fe4xMRWkG6dtBiHakwUy4dDb5T8aQq7Jr/o7gv47iiYJ
aS/fAcMwKwB0Pv/XwFFvf+DlxqfFOQ39JMp3dGVOK2ECozFqwq+QLzmhxe8uIq1a
emqAN4awleKsNV0sCho2KNXkvYpyDPVx6j8CRu0mwFgDJ7OvbtBaRZ+gIgJ1U6xw
dF32oo+DxeqGVz3CHXOmRgtIJLiYErm8ajh4gYnhfJv4esLC8m71gOuhTv1T3w==
=5G/+
-----END PGP PUBLIC KEY BLOCK-----

I'll vouch for SS and the client app. I've read the code and tested it myself. (and made a few bug fixes). It's actually really really useful for anyone who has regular activity on their SR account (vendor or customer).

dbz as you surmise, the system tray notification is the shit. Saves me from having to log in and out of different accounts all day, compulsively refreshing pages. Instead I get a blinky green camel :)

SS, I'll email you shortly.

eddie
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 17, 2013, 01:45 am
Thanks Eddie, I appreciate that.

So if you download this, please consider yourself something of a beta tester.  Also check the known_bugs.txt and readme.txt files.  And the changelog.txt if you care.

If you can't get it running... well, basically all it needs is Ruby v1.9 and the .gem files it comes in a zip with (plus a couple of other ones that those gems depend on, but it should take care of that for you).  You *should* be able to type "make" after unpackaging the contents of the .tar.zip into a directory, and have it add a line to your torrc file so that it knows where the Tor proxy is listening for a connection.  That part requires escalated privileges.  The dependencies (the gems) are put into your home directory, so that part you can do as any old user -- modifying the /etc/torrc file needs privileges though.

Also, you must always have Tor running or this program will do nothing but fail in a most epic fashion.  It never connects to anything except through Tor, and if Tor isn't there... well, it doesn't work so good.

In a nutshell, you're on your own getting it running for now; any bugs you find after that you should tell me about if you want me to fix them though.  I'll work on the orders thing in a few days when I get some more time.

http://oukryuqqc7ffenin.onion/files/54b48b3a5e88e976ac24717bce7e0585.zip
 
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 17, 2013, 06:25 am
Where is the download link?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 17, 2013, 06:37 am
That would be right above you, masterblaster... :)
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 17, 2013, 07:25 am
So yea SS, I honestly would love to see that functionality wrapped up in a nice plain gui. Doesn't have to be fancy or anything, just gets the job done, maybe a few tabs. I'd be happy to rally a donation thread for you and donate when i have my own money to spend. If we could essentially crowdsource a fucking community applet that'd be pretty fucking sick.

EDIT: Also forum notifications and autorefresh would be great. I hate clicking refresh and waiting 2 minutes for it to reload to check if there's a new post or not. Also the ability to subscribe to threads. Just throwin stuff out there
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 17, 2013, 08:48 am
Ah here comes the feature creep. Just make a useful frontend that covers most of the tedious tasks in buying/selling and people will be happy.

Hey SS try asking the staff if they would give you a vendor account for a week or two so you can develop your program.

Also:

Virus Total
SHA256:    41dd69ae2894159a2209d82f1f4ecdd4000574e6c7445e5964d167338d13df0d
File name:    54b48b3a5e88e976ac24717bce7e0585.zip
Detection ratio:    0 / 45
Analysis date:    2013-02-17 08:21:20 UTC ( 0 minutes ago )

BTW how much would you like to see in your wallet to have a functional stable program?
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 17, 2013, 08:59 am
Nah really that's all I'd ever want. Forum functionality, notifications, messages/balance and that's basically it. That's all it would ever need to do. But yea SS tell us how much you need, we'll try to make it happen
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 17, 2013, 04:15 pm
Ah here comes the feature creep. Just make a useful frontend that covers most of the tedious tasks in buying/selling and people will be happy.

Hey SS try asking the staff if they would give you a vendor account for a week or two so you can develop your program.

Also:

Virus Total
SHA256:    41dd69ae2894159a2209d82f1f4ecdd4000574e6c7445e5964d167338d13df0d
File name:    54b48b3a5e88e976ac24717bce7e0585.zip
Detection ratio:    0 / 45
Analysis date:    2013-02-17 08:21:20 UTC ( 0 minutes ago )

BTW how much would you like to see in your wallet to have a functional stable program?

Apparently I really misspoke or something.  The program's functional and stable.  It's safe and reliable, but it's still rough around the edges and it doesn't do everything I set out to make it do yet.

Apparently people are used to... well, really fucking shitty programs or something.  I wouldn't even bother mentioning it to anybody else if it weren't useful.  I mean it's always gratifying when someone uses your programs and finds them useful, but that's not what I look for -- I don't let anybody know about my programs until I'm sure they're worthwhile.  That's just how I am.  I'm not sure what it is you're asking, basically: are you asking how much I'd need to make it worthwhile to fully cut out the web site from the Silk Road vending process?
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 18, 2013, 12:06 am
Yes, cut out the slow cumbersome SR site and just collate the data into a easily accessible frontend. And im not just talking about replacing what already exists, but adding things like msg mgmt, order status lists (like utorrent lists torrents), better search rules (price/geography/sellerstatus), integration with gpg, etc... Think of it this way, if you create something that becomes far better than SR is, then people will migrate to it and DPR will only have to work on developing backend features.

BTW do you have a windows version? I imagine most SR users are on windows.
Title: Re: A Silk Road client application and general purpose API
Post by: northsouth on February 18, 2013, 12:51 am
I like the concept of accessing the marketplace through an optimized app in order to save bandwidth and speed everything up. But it just doesn't really work as long as SR has zero support for it.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 18, 2013, 04:17 am
I like the concept of accessing the marketplace through an optimized app in order to save bandwidth and speed everything up. But it just doesn't really work as long as SR has zero support for it.

Sure it does.  Works just fine.  It's called scraping a website; our eyes aren't the only things that can make use of the data being transmitted to our computers.  Just because it usually gets displayed graphically on a screen doesn't mean that you _can't_ do something else with it, if you have a reason to.  The program does the same thing your web browser does, except it doesn't display it graphically.  It does other stuff with it.  If you mean it can't be more efficient... well that's also not true.  The Tor browser is configured and designed to work with ALL of the world wide web.  It does a whole fucking lot of stuff that has no bearing whatsoever on what most people use it for.  My program doesn't, because it doesn't work with anything except Silk Road -- what it has to do is much simpler.

Ever been on the site, and loaded the same page you just surfed away from or something?  Well I have.  That means your browser has to contact the site and download it again.  I don't think it caches anything by default, so whether the site has modified the page or not doesn't matter -- to be displayed, it has to be downloaded.  Little stuff like that can be cut out.  Though you could of course set your browser to do the same thing.  Mostly it's convenient because vendors have to sit here and refresh the site again... and again... and again... all day long, waiting for orders to come in and stuff.  This is supposed to free them up to do other stuff, like play video games or make dinner or something, and still know that they'll get notified as soon as anything happens.

As for a Windows version... That is the Windows version.  It's cross-platform -- it's the "every platform it runs on," version. :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 18, 2013, 04:29 am
Yes, cut out the slow cumbersome SR site and just collate the data into a easily accessible frontend. And im not just talking about replacing what already exists, but adding things like msg mgmt, order status lists (like utorrent lists torrents), better search rules (price/geography/sellerstatus), integration with gpg, etc... Think of it this way, if you create something that becomes far better than SR is, then people will migrate to it and DPR will only have to work on developing backend features.

To be totally serious, that would require approximately 1-4 weeks of full-time work.  Let's not get specific, but it's obvious from the rest of my posts that I'm in the USA.  The fact that I do something related to programming can be assumed from the fact that I've written a program.  So that's not exactly leaking any info about me.  Let's take the average pay for a mid-level programmer in America as the basis for this.  That's about $70k/yr.  There's approximately 2000 working hours in a year.

So that comes out to the average US programmer being paid $35/hr.  Projects never go as well as they're supposed to, and it basically always takes longer.  Let's assume a month.  5 * 8 * 40 = 160.

160 * 35 = $5,600.  If you guys pay me $5,600 dollars and give me a month, yes, I will write you a better Silk Road (that still uses Silk Road and that DPR still gets paid for, so I don't even see why he'd mind).

If I see $5,600 go to that donation address, you have my word, I will have it for you in a month  ;D
Title: Re: A Silk Road client application and general purpose API
Post by: ENBOOM on February 18, 2013, 08:06 am
Subbed
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 18, 2013, 08:09 am
I think people are misunderstanding this thread.

The file SelfSovereignty attached IS a functional, cross-platform Silk Road client. This isn't a theoretical. He linked the beta in his post. That being said, it's a BETA test and at the moment may have bugs and/or limitations in it's functionality (particularly in GUI mode). If you have no idea what to do with a beta program, maybe its not for you. If you have somewhat of a technical background you might find it quite useful. I have.

Yes, it works in Windows. You have to install Ruby, add Ruby to your path, install the gem dependencies, then run metasilk.rb. Can't say it's quite /supported/ for windows yet, but it works quite well if you know how to do that sort of thing.

I'll add some more details on getting it running under windows when I get a chance. I'm still using the previous version.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 18, 2013, 09:16 am
Yes, cut out the slow cumbersome SR site and just collate the data into a easily accessible frontend. And im not just talking about replacing what already exists, but adding things like msg mgmt, order status lists (like utorrent lists torrents), better search rules (price/geography/sellerstatus), integration with gpg, etc... Think of it this way, if you create something that becomes far better than SR is, then people will migrate to it and DPR will only have to work on developing backend features.

To be totally serious, that would require approximately 1-4 weeks of full-time work.  Let's not get specific, but it's obvious from the rest of my posts that I'm in the USA.  The fact that I do something related to programming can be assumed from the fact that I've written a program.  So that's not exactly leaking any info about me.  Let's take the average pay for a mid-level programmer in America as the basis for this.  That's about $70k/yr.  There's approximately 2000 working hours in a year.

So that comes out to the average US programmer being paid $35/hr.  Projects never go as well as they're supposed to, and it basically always takes longer.  Let's assume a month.  5 * 8 * 40 = 160.

160 * 35 = $5,600.  If you guys pay me $5,600 dollars and give me a month, yes, I will write you a better Silk Road (that still uses Silk Road and that DPR still gets paid for, so I don't even see why he'd mind).

If I see $5,600 go to that donation address, you have my word, I will have it for you in a month  ;D

Lol ill settle for simple management features, like i mentioned. Doesn't need to be a full interface, just autorefresh and notify mostly. The forum functionality would be fantastic if you could do it, It's absolute murder to wait 3 minutes for the fucking page to refresh/time out
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 18, 2013, 09:44 am
Yes, cut out the slow cumbersome SR site and just collate the data into a easily accessible frontend. And im not just talking about replacing what already exists, but adding things like msg mgmt, order status lists (like utorrent lists torrents), better search rules (price/geography/sellerstatus), integration with gpg, etc... Think of it this way, if you create something that becomes far better than SR is, then people will migrate to it and DPR will only have to work on developing backend features.

To be totally serious, that would require approximately 1-4 weeks of full-time work.  Let's not get specific, but it's obvious from the rest of my posts that I'm in the USA.  The fact that I do something related to programming can be assumed from the fact that I've written a program.  So that's not exactly leaking any info about me.  Let's take the average pay for a mid-level programmer in America as the basis for this.  That's about $70k/yr.  There's approximately 2000 working hours in a year.

So that comes out to the average US programmer being paid $35/hr.  Projects never go as well as they're supposed to, and it basically always takes longer.  Let's assume a month.  5 * 8 * 40 = 160.

160 * 35 = $5,600.  If you guys pay me $5,600 dollars and give me a month, yes, I will write you a better Silk Road (that still uses Silk Road and that DPR still gets paid for, so I don't even see why he'd mind).

If I see $5,600 go to that donation address, you have my word, I will have it for you in a month  ;D

Lol ill settle for simple management features, like i mentioned. Doesn't need to be a full interface, just autorefresh and notify mostly. The forum functionality would be fantastic if you could do it, It's absolute murder to wait 3 minutes for the fucking page to refresh/time out

Okay, no problem.

/examine_fingernails

... okay, all done!  You'll find the d/l link above.  Where's mah money?!  8)
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 18, 2013, 11:10 am
I will send you all of my 10 million theoretical dollars post-haste
Title: Re: A Silk Road client application and general purpose API
Post by: trolley on February 18, 2013, 11:14 am
Wow impressed will try and get this set up when I have a chance thanks for your work. There was a thread a while ago talking about dedicated clients good to see it happening
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 18, 2013, 11:26 am
Oh wow.  I just noticed my stupid typo.  Obviously I meant "5 days a week * 8 hours a day * 4 weeks", not times 40 weeks  ::)
Title: Re: A Silk Road client application and general purpose API
Post by: northsouth on February 18, 2013, 01:46 pm
Sure it does.  Works just fine.  It's called scraping a website; our eyes aren't the only things that can make use of the data being transmitted to our computers.  Just because it usually gets displayed graphically on a screen doesn't mean that you _can't_ do something else with it, if you have a reason to.  The program does the same thing your web browser does, except it doesn't display it graphically.  It does other stuff with it.

I understand what your program does, and if you can find a meaningful way to treat the data and display it differently, then good, but I just can't think of anything useful. Maybe you can arrange your messages in a more organized way or something, but it's not gonna be a lot better.

If you mean it can't be more efficient... well that's also not true.  The Tor browser is configured and designed to work with ALL of the world wide web.  It does a whole fucking lot of stuff that has no bearing whatsoever on what most people use it for.  My program doesn't, because it doesn't work with anything except Silk Road -- what it has to do is much simpler.

Yes, but your program still has to do HTTP requests through TOR, making it no faster than a browser. You could probably write a plugin/script for the TOR browser that does everything your program does.

Ever been on the site, and loaded the same page you just surfed away from or something?  Well I have.  That means your browser has to contact the site and download it again.  I don't think it caches anything by default, so whether the site has modified the page or not doesn't matter -- to be displayed, it has to be downloaded.  Little stuff like that can be cut out.  Though you could of course set your browser to do the same thing.  Mostly it's convenient because vendors have to sit here and refresh the site again... and again... and again... all day long, waiting for orders to come in and stuff.  This is supposed to free them up to do other stuff, like play video games or make dinner or something, and still know that they'll get notified as soon as anything happens.

Cache isn't very useful, unless you accidentally close a tab. You can't cache a lot of sites, because they might get updated (vendor descriptions, product list, messages, orders etc.). Besides, I believe caching is turned off by default as a security measure. The refreshing point is a valid, but you've been beat to it: (clearnet warning) https://addons.mozilla.org/en-us/firefox/addon/check4change/
Title: Re: A Silk Road client application and general purpose API
Post by: xiferz on February 18, 2013, 11:49 pm

I understand what your program does, and if you can find a meaningful way to treat the data and display it differently, then good, but I just can't think of anything useful. Maybe you can arrange your messages in a more organized way or something, but it's not gonna be a lot better.

am about to d/l and try this out.  i'm thinking app - like why aren't android apps just delivered in a browser?

Quote
Yes, but your program still has to do HTTP requests through TOR, making it no faster than a browser. You could probably write a plugin/script for the TOR browser that does everything your program does.
Which colour ice-cream would you like? I'm not a web dev but if all you're doing is getting data not displaying all the form content/graphics etc then
won't it look/feel faster?

Quote

Cache isn't very useful, unless you accidentally close a tab. You can't cache a lot of sites, because they might get updated (vendor descriptions, product list, messages, orders etc.). Besides, I believe caching is turned off by default as a security measure. The refreshing point is a valid, but you've been beat to it: (clearnet warning) https://addons.mozilla.org/en-us/firefox/addon/check4change/

You specified the dynamic content - i guess caching benefits the static?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 12:00 am
Sure it does.  Works just fine.  It's called scraping a website; our eyes aren't the only things that can make use of the data being transmitted to our computers.  Just because it usually gets displayed graphically on a screen doesn't mean that you _can't_ do something else with it, if you have a reason to.  The program does the same thing your web browser does, except it doesn't display it graphically.  It does other stuff with it.

I understand what your program does, and if you can find a meaningful way to treat the data and display it differently, then good, but I just can't think of anything useful. Maybe you can arrange your messages in a more organized way or something, but it's not gonna be a lot better.

I apparently misunderstood you; I wasn't trying to patronize you or anything.

At first the only idea I had in mind was for someone to be able to make use of it as a library (again, it started as a generic API) to implement fucking sort-by-price.  Then I went through the feature request forum and made a list:

Code: [Select]
- Notification on home page when favorite vendors add a new listing / favorite vendor activity feeds
- Recently added listings section
- Sort by price
- Display current bitcoin price on homepage
- Checkboxes to select specific messages to delete (batch job)
- Export listings as JSON or CSV list
- Filter for listings to exclude specific vendors, etc.
- REST API to build automation on top of
- Vendor name next to bookmarked listings
- Max sales limit per day to accept
- Buyer rating/review database
- Some kind of preorder request for previous listings currently out of stock
- Streamlined custom orders
- Message search function
- Blacklist specific accounts from sending messages
- Display both BTC and USD price
- Wishlist or "buy later" feature (save cart)
- Integrated "inform buyer why this purchase is being canceled" function
- Break out public PGP keys to devoted field in vendor profile
- Support for markup language in profiles
- Display available quantity in the listing w/o adding to cart
- Markup quantity of an item ordered during vendor order fulfillment if value is not 1 (easily overlooked)
- Break rating up in to independent service + product

It would be torture trying to implement a generic, modular API that provides relatively clean and easy access to the data on the site in a JavaScript extension for Firefox.  I do this for enjoyment, not masochism.

Quote
If you mean it can't be more efficient... well that's also not true.  The Tor browser is configured and designed to work with ALL of the world wide web.  It does a whole fucking lot of stuff that has no bearing whatsoever on what most people use it for.  My program doesn't, because it doesn't work with anything except Silk Road -- what it has to do is much simpler.

Yes, but your program still has to do HTTP requests through TOR, making it no faster than a browser. You could probably write a plugin/script for the TOR browser that does everything your program does.

My program can search through over 200 messages simultaneously looking for that damn "special method of packaging," some stupid customer asked you for; while monitoring the activity taking place related to your account to notify you when something worthwhile happens; while scanning your feedback to notify you immediately if someone leaves a poor rating; while keeping an eye on the market prices so that you don't have to bother checking to be sure you're charging a competitive rate; while watching the price of bitcoins and notifying you if it falls or rises below or above a specific threshold; while making the site look almost instant because it's showing you data that it already has while it's off fetching the updates so you don't feel like you're waiting so much; etc., etc., etc.

... see what I mean?  That's why an API that anyone can use is good.  If you want to open over 200 tabs in your browser window, you go right ahead, friend.

Quote
Ever been on the site, and loaded the same page you just surfed away from or something?  Well I have.  That means your browser has to contact the site and download it again.  I don't think it caches anything by default, so whether the site has modified the page or not doesn't matter -- to be displayed, it has to be downloaded.  Little stuff like that can be cut out.  Though you could of course set your browser to do the same thing.  Mostly it's convenient because vendors have to sit here and refresh the site again... and again... and again... all day long, waiting for orders to come in and stuff.  This is supposed to free them up to do other stuff, like play video games or make dinner or something, and still know that they'll get notified as soon as anything happens.

Cache isn't very useful, unless you accidentally close a tab. You can't cache a lot of sites, because they might get updated (vendor descriptions, product list, messages, orders etc.). Besides, I believe caching is turned off by default as a security measure. The refreshing point is a valid, but you've been beat to it: (clearnet warning) https://addons.mozilla.org/en-us/firefox/addon/check4change/

Yes, I'm quite aware that there are thousands of Firefox extensions that are capable of refreshing a page.  Bending the entire browser to implement that list I compiled, plus anything else anyone can think of, would be virtually impossible.  It would take months or years of tedious, aggravating work; personally I think that's just silly.  If your opinion differs -- well, good for you.

I'm not sure what else to say about it.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 19, 2013, 12:08 am
SS if you seriously can pull this off ill try to start a donation drive for you like i did for Tess when he brought down bitcointalks.com. Seriously man this would make my life so much fucking easier, you deserve every penny coming you're way
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 12:09 am
Ya know, I just thought of something: I think it would even work on a $25.00 Raspberry Pi with no Window Manager, just a terminal.  That's so geeky cool... I gotta get one :P

SS if you seriously can pull this off ill try to start a donation drive for you like i did for Tess when he brought down bitcointalks.com. Seriously man this would make my life so much fucking easier, you deserve every penny coming you're way

Yep, I'm over here having the time of my life swimming in the 1 shiny bitcoin that I've gotten (thanks again Thyme -- show me your Dr. Girlfriend outfit someday, would you, lol).
 
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 19, 2013, 12:20 am
Ya know, I just thought of something: I think it would even work on a $25.00 Raspberry Pi with no Window Manager, just a terminal.  That's so geeky cool... I gotta get one :P

SS if you seriously can pull this off ill try to start a donation drive for you like i did for Tess when he brought down bitcointalks.com. Seriously man this would make my life so much fucking easier, you deserve every penny coming you're way

Yep, I'm over here having the time of my life swimming in the 1 shiny bitcoin that I've gotten (thanks again Thyme -- show me your Dr. Girlfriend outfit someday, would you, lol).
 

Here you go SS:

http://dkn255hz262ypmii.onion/index.php?topic=121848.0
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 19, 2013, 04:20 am
I think people are misunderstanding this thread.

The file SelfSovereignty attached IS a functional, cross-platform Silk Road client. This isn't a theoretical. He linked the beta in his post. That being said, it's a BETA test and at the moment may have bugs and/or limitations in it's functionality (particularly in GUI mode). If you have no idea what to do with a beta program, maybe its not for you. If you have somewhat of a technical background you might find it quite useful. I have.

Yes, it works in Windows. You have to install Ruby, add Ruby to your path, install the gem dependencies, then run metasilk.rb. Can't say it's quite /supported/ for windows yet, but it works quite well if you know how to do that sort of thing.

I'll add some more details on getting it running under windows when I get a chance. I'm still using the previous version.

This is exactly why it wont work for windows users, they dont want to know wtf ruby is and how to add it to your path (what path, the metaphysical one im on?).  Just make an exe, is it hard to do?
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 19, 2013, 04:29 am
I think people are misunderstanding this thread.

The file SelfSovereignty attached IS a functional, cross-platform Silk Road client. This isn't a theoretical. He linked the beta in his post. That being said, it's a BETA test and at the moment may have bugs and/or limitations in it's functionality (particularly in GUI mode). If you have no idea what to do with a beta program, maybe its not for you. If you have somewhat of a technical background you might find it quite useful. I have.

Yes, it works in Windows. You have to install Ruby, add Ruby to your path, install the gem dependencies, then run metasilk.rb. Can't say it's quite /supported/ for windows yet, but it works quite well if you know how to do that sort of thing.

I'll add some more details on getting it running under windows when I get a chance. I'm still using the previous version.

This is exactly why it wont work for windows users, they dont want to know wtf ruby is and how to add it to your path (what path, the metaphysical one im on?).  Just make an exe, is it hard to do?

I don't mean to be rude SS, but I'm actually confused as to why you say GUI coding is hard. Isn't it essentially like flash? Can't you just drag and drop buttons onto a generic template and just give it code hooks to run a certain function? If you could do that i imagine it would take all of 5 minutes once you have something usable, but i am not a coder. Dunno how it works with ruby, or whatever you would use
Title: Re: A Silk Road client application and general purpose API
Post by: astor on February 19, 2013, 04:52 am
Would it be possible to bundle Ruby and the gems in an installer?
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 19, 2013, 04:55 am
Would it be possible to bundle Ruby and the gems in an installer?
I'm sure there's something like an installer stitcher or something laying around. Otherwise all you have to do is make a batch file to run them simultaneously

Pretty sure this is it, and it's even native functionality on windows:

http://msdn.microsoft.com/en-us/library/aa243945(v=vs.60).aspx
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 04:57 am
Eh... ???  I said it was boring, not hard.  It aggravates me.  There's nothing clever about it, it's just packing buttons into horizontal boxes and vertical boxes and setting their padding and alignment and text and labels and tooltips... x offset, y offset...

"oh God damn it now the label text is wrapping around to the next line, that's too ugly..."

... 10 mins later...

"... well now it won't accept the fucking tab key, wtf is that about..."

... 20 mins later...

"Bullshit the fucking pixbuf was destroyed, who destroyed it -- you did?!  Ohhhh, that's it..."

... sun coming up...

"No, no, no!  Not UTF-8, it needs to be UTF-16 you bloody machine, and don't make it purple this time..."

... don't ask ...

"... great, just great, now the window is 3 pixels too wide and the entire input box is pulling the size group to the corner..."


I'm dramatizing for comical effect, but it's fucking mind numbing.  I enjoy puzzles and figuring out algorithms, not wrestling with a ridiculously complex etch-a-sketch.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 19, 2013, 04:59 am
Ok then here's a perfect solution. Do all the backend(if you're willing), and just have someone here code the gui for you. If you do the backend, which really is the hard part, then someone can code the gui really easily i bet.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 05:31 am
Would it be possible to bundle Ruby and the gems in an installer?
I'm sure there's something like an installer stitcher or something laying around. Otherwise all you have to do is make a batch file to run them simultaneously

Pretty sure this is it, and it's even native functionality on windows:

http://msdn.microsoft.com/en-us/library/aa243945(v=vs.60).aspx

Sure there's a way.  I'm not done yet though, it's premature to worry about it.  Beta-beta-beta :)  I also really never expected buyers to be using it all that much.  I mean the benefits at this point are few and far between, but if you guys want to, go right ahead.  I mean I use it, but... I know how to make it do stuff and it's easy for me because I wrote it.  So it's different, ya know.

The truth is that if I actually bothered making more than one GUI application every 6 months, it would be trivially easy and just mind numbingly boring instead of irritating as all Hell.  But I have no real reason to, because I just don't enjoy it and that's not what -- well, nobody's going to find out what it is that I actually do... but it's pretty fucking far from GUIs :)

BTW, the backend is what I meant when I said I started out writing just an API.  That's basically what an API is.  You call it and say "yo, give me these things, I gots uses for 'em!" and then stuff gets handed to you, and you go off and do things with it.

There's a reading message window, sending message window, a tray icon, an about dialog, release notes, readme, login, monitoring screen, debug output console/log, message list (that isn't finished and is hidden, but it's there).  All an independent, stand-alone window.  Some tiny, but still windows.  I'm not saying I refuse to even touch them or something.  Just because I bitch doesn't mean I'm satisfied with a rubbish product and don't care.  I do.  It's not much fun to write things that are junk.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on February 19, 2013, 05:42 am
But I have no real reason to, because I just don't enjoy it and that's not what -- well, nobody's going to find out what it is that I actually do... but it's pretty fucking far from GUIs :)

I what you really do.

It's not hard to figure out from your post history.

Unfortunately you've given too much away.


Your day job is a circus performer -- the bearded tweeker :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 05:54 am
But I have no real reason to, because I just don't enjoy it and that's not what -- well, nobody's going to find out what it is that I actually do... but it's pretty fucking far from GUIs :)

I what you really do.

It's not hard to figure out from your post history.

Unfortunately you've given too much away.


Your day job is a circus performer -- the bearded tweeker :)


... that's spooky man.  Stop doing that, you're gonna freak me out  ::)
Title: Re: A Silk Road client application and general purpose API
Post by: northsouth on February 19, 2013, 12:50 pm
I must admit, I haven't tried your application, and I can't say if it's useful for vendors or not, but I just personally don't really see the point.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 19, 2013, 01:20 pm
I must admit, I haven't tried your application, and I can't say if it's useful for vendors or not, but I just personally don't really see the point.

You're probably having trouble understanding why anyone who knows what they're doing would actually do this, yes?  Well you should be, it's a ridiculously silly way of doing it.  Like I mentioned earlier, any sane developer would fix/improve the server and not do something stupid like re-implement the basic I/O of a web browser.

You're likely forgetting to take into account that a) I dislike writing browser extensions for unrelated reasons, b) I have no way of improving the server, c) I take amphetamines daily and don't get much sleep, and d) I'm a nerd and if I'm on speed, I'm probably in the middle of something that's got me wide-eyed with fascination.

Like I said, this isn't my usual area.  I'm not going to say anymore than that, but the industry moves fast and everything is about the fucking cloud these days and software as a service and all that gibberish.  I like being good at what I do, and I like knowing that I'm better than most.  I can't stay better than most if I do the same old thing and can't keep up with the times, now can I.

And so I ended up with this program, which is of some use to vendors who want to be able to play video games inbetween orders.  I'm also considering adding a "send an email" option anytime an order comes in.  That means instead of vendors being required to stay tied to their computers and networks and basically give up the freedom to go out, they'd be able to do that again.

If it's useful for some, awesome, I'm glad.  It will not be for all and I don't claim it will be.  So does everything make sense now...?  :)
Title: Re: A Silk Road client application and general purpose API
Post by: northsouth on February 19, 2013, 01:35 pm
Yeah, I understand. I might have come off a little hyper-critical, but honestly I think it's really cool when people contribute something to the community :)
If you think it's interesting to work on, then by all means continue. But remember to revise your code when not on amphetamines :P
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 03:10 am
SS, how do you feel about putting up SR listings for certain features, and after X number of people buy in then you finalize the order and implement it. Figure a reasonable price/purchaser ratio and put a timelimit on how long you will hold their money in escrow for. Keep the names of the buyers up on the product page so everyone knows how close they are to getting the feature, then let them have the updated version for so long before you make it public.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 03:33 am
I ran the ruby installer on my windows machine and clicked on the metasilk.rb but nothing happened. Could you actually include some instructions for how to get it running?
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 03:49 am
I tried this in the command prompt:

C:\metasilk-0.2.3\metasilk>C:\Ruby193\bin\ruby.exe metasilk.rb
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
cannot load such file -- nokogiri (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
n `require'
        from metasilk.rb:20:in `<main>'

Try again?
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 21, 2013, 04:18 am
I tried this in the command prompt:

C:\metasilk-0.2.3\metasilk>C:\Ruby193\bin\ruby.exe metasilk.rb
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
cannot load such file -- nokogiri (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
n `require'
        from metasilk.rb:20:in `<main>'

Try again?

You have to manually install the dependencies on Windows. Try:
Code: [Select]
C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print green_shoes vrlib
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 04:39 am
I tried this in the command prompt:

C:\metasilk-0.2.3\metasilk>C:\Ruby193\bin\ruby.exe metasilk.rb
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
cannot load such file -- nokogiri (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
n `require'
        from metasilk.rb:20:in `<main>'

Try again?

You have to manually install the dependencies on Windows. Try:
Code: [Select]
C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print green_shoes vrlib

Thank you Eddie.  You're exactly right.  That's what typing "make" in Linux does for you.  Except green_shoes isn't used anymore, so I removed that.  It's quick and easy, but the GUI was too... I don't know, it was just slow and... whatever.  It didn't look clean enough to me, so I switched to something else.  Oh... that and it sets the Tor port.  You may have to change that, but I don't even know where it is in Windows.  Eddie does I'm sure, if you have trouble with it.

Also, if you use it on Windows you probably want to run the file with "rubyw.exe" and not "ruby.exe" -- it pops up an irritating command prompt window otherwise.  I included a program log of output, so you aren't even seeing anything extra that you'd miss or anything.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 21, 2013, 04:42 am
SS, how do you feel about putting up SR listings for certain features, and after X number of people buy in then you finalize the order and implement it. Figure a reasonable price/purchaser ratio and put a timelimit on how long you will hold their money in escrow for. Keep the names of the buyers up on the product page so everyone knows how close they are to getting the feature, then let them have the updated version for so long before you make it public.

That would be a much better idea than my donation drive
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 04:51 am
Well that would be lovely, except I don't even have a vendor account -- that was actually the point of this thread to begin with, but... I mean sure, it's a fine idea, lol.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 21, 2013, 05:07 am
I tried this in the command prompt:

C:\metasilk-0.2.3\metasilk>C:\Ruby193\bin\ruby.exe metasilk.rb
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
cannot load such file -- nokogiri (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
n `require'
        from metasilk.rb:20:in `<main>'

Try again?

You have to manually install the dependencies on Windows. Try:
Code: [Select]
C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print green_shoes vrlib

Thank you Eddie.  You're exactly right.  That's what typing "make" in Linux does for you.  Except green_shoes isn't used anymore, so I removed that.  It's quick and easy, but the GUI was too... I don't know, it was just slow and... whatever.  It didn't look clean enough to me, so I switched to something else.  Oh... that and it sets the Tor port.  You may have to change that, but I don't even know where it is in Windows.  Eddie does I'm sure, if you have trouble with it.

Also, if you use it on Windows you probably want to run the file with "rubyw.exe" and not "ruby.exe" -- it pops up an irritating command prompt window otherwise.  I included a program log of output, so you aren't even seeing anything extra that you'd miss or anything.

Haven't needed to change the torcc file. Tor Browser Bundle on Windows already uses 9050 for socks, so it works fine without further configuration.

SS, the GUI still hangs in Windows on the @builder['window1'].set_title line, even in a separate thread as these versions utilize (sorry I've just tried these newer versions). It freezes and has to be killed. I comment out line 216 in monitorwindow.rb as a workaround because, frankly, I don't know the proper way to fix all this ruby/gtk jazz ;)

Also have to comment out line 352 in metasilk.rb same reason.

After that, works like a charm.

Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 05:18 am
Oh fuck me, tell me you're joking...?

It's trying not to use another process... alright, alright, fine.  We'll go heavy here.  Do me a favor, put this line in instead of commenting them out?

Code: [Select]
Process.fork { @builder['window1'].set_title }

If it still freezes, I'll just say fuck it and you won't be able to see the account name in Windows.  Sorry man, I know you wanted that, but... would be such a pain to make it work with multiple accounts in one instance.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 05:20 am
Oops.  Yeah, put the thing to set it to in there too, of course... ahem.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 05:38 am
Well that would be lovely, except I don't even have a vendor account -- that was actually the point of this thread to begin with, but... I mean sure, it's a fine idea, lol.

Well, then get one. Did you ask SR staff if they'd gift you one given that you're creating a tool that will benefit the community? And when you get it to work on windows put a fresh link up, id like to try it out.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 21, 2013, 05:44 am
Oh fuck me, tell me you're joking...?

It's trying not to use another process... alright, alright, fine.  We'll go heavy here.  Do me a favor, put this line in instead of commenting them out?

Code: [Select]
Process.fork { @builder['window1'].set_title }

If it still freezes, I'll just say fuck it and you won't be able to see the account name in Windows.  Sorry man, I know you wanted that, but... would be such a pain to make it work with multiple accounts in one instance.

"fork() function is unimplemented on this machine"

Apparently doesn't work on windows.
Don't sweat it that function really isn't necessary anyway.

While we're bug fixing though... :)

the Oldest Unread Message function crashes in gui mode on windows.
I've traced it back to message.rb line 154, show_window()
Execution doesn't get past that line...
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 05:58 am
Oh wow... I guess the Ruby guys haven't actually gotten around to implementing that on... your, version... of... the thing your... computer runs... yeah. Trying really hard not to give away info that I haven't been told is okay to give away, heh.

Thanks man, I appreciate you letting me know.  I wrote it all down.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 21, 2013, 06:18 am
Oh wow... I guess the Ruby guys haven't actually gotten around to implementing that on... your, version... of... the thing your... computer runs... yeah. Trying really hard not to give away info that I haven't been told is okay to give away, heh.

Thanks man, I appreciate you letting me know.  I wrote it all down.


Yea man, keep up the good fucking work.

Well that would be lovely, except I don't even have a vendor account -- that was actually the point of this thread to begin with, but... I mean sure, it's a fine idea, lol.

Well, then get one. Did you ask SR staff if they'd gift you one given that you're creating a tool that will benefit the community? And when you get it to work on windows put a fresh link up, id like to try it out.

Also something i would consider doing SS. Could only benefit everyone involved
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 06:27 am
Soooo... what you've just told me is problematic.  It's going to take some jerry-rigging to get around this.  It shouldn't be happening on -- well if it happens on anything OTHER than what you've told me you're already running, be sure to drop me a line and let me know, because I don't think it's a problem for anybody but you and your setup right now.

I know how stupid it is to not just say it, but I don't feel right doing that when you told me in private even though you've given enough info here  to figure it out yourself, hah...

Anyway, fixed the freeze over the username thing.  It'll show now, but only after a minute or two.  Also, the program isn't freezing permanently.  It's just freezing while it's attempting I/O.  If you let it sit,  it'll come back with your unread message.  Apparently you don't even see the spinner icon telling you it's busy when it does I/O operations on your system, huh?  How fucking lame is that, lol... Yes, I realize how clunky that is, but fixing it proper-like is going to take some doing if I can't even fork a damn process, so this is the best I can do for now.

The (hopefully) fixed 0.2.4; I'll update the other link after you confirm I got the issues I think I did:  http://oukryuqqc7ffenin.onion/files/22b4ca0abfcb6a2095bc290f36611392.zip

... not too bad.  Maybe 30-60 minutes for 3 bugs half-fixed.  I can live with that :P
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 06:33 am
Guys, I can't corroborate with DPR.  I'd love to, but I can't.  I'm an American.  It would make me a conspirator in every crime he'd be charged with.  You can't use this program if it's illegal where you are, remember?  I don't break laws.  I just lie about breaking them.  It's pathological.  I'm working on it, I swear :P
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 21, 2013, 06:46 am
Soooo... what you've just told me is problematic.  It's going to take some jerry-rigging to get around this.  It shouldn't be happening on -- well if it happens on anything OTHER than what you've told me you're already running, be sure to drop me a line and let me know, because I don't think it's a problem for anybody but you and your setup right now.

I know how stupid it is to not just say it, but I don't feel right doing that when you told me in private even though you've given enough info here  to figure it out yourself, hah...

Anyway, fixed the freeze over the username thing.  It'll show now, but only after a minute or two.  Also, the program isn't freezing permanently.  It's just freezing while it's attempting I/O.  If you let it sit,  it'll come back with your unread message.  Apparently you don't even see the spinner icon telling you it's busy when it does I/O operations on your system, huh?  How fucking lame is that, lol... Yes, I realize how clunky that is, but fixing it proper-like is going to take some doing if I can't even fork a damn process, so this is the best I can do for now.

The (hopefully) fixed 0.2.4; I'll update the other link after you confirm I got the issues I think I did:  http://oukryuqqc7ffenin.onion/files/22b4ca0abfcb6a2095bc290f36611392.zip

... not too bad.  Maybe 30-60 minutes for 3 bugs half-fixed.  I can live with that :P

It's cool, it's no secret I'm testing the functionality under Windows. I run Win7 under a virtual machine for these sorts of times. My host OS is a custom hacked BeOS build on an Arduino powered 4-slice toaster.

Negative on the fix btw. The spinner does actually work under Win. I see it otherwise normally during the program. It starts spinning then freezes w this bug. And this freeze isn't recovered from (at least not by 20 mins). It logs in successfully when restoring a session, the console output spits out "x unread messages" and then frozen. Something about that set_title function Windows doesnt like. Can you put it in the status bar instead?
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 21, 2013, 07:37 am
Guys, I can't corroborate with DPR.  I'd love to, but I can't.  I'm an American.  It would make me a conspirator in every crime he'd be charged with.  You can't use this program if it's illegal where you are, remember?  I don't break laws.  I just lie about breaking them.  It's pathological.  I'm working on it, I swear :P

Do the backend, give it to eddy through an anonymous upload and let him distribute it, problem solved ;)
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 07:59 am
Guys, I can't corroborate with DPR.  I'd love to, but I can't.  I'm an American.  It would make me a conspirator in every crime he'd be charged with.  You can't use this program if it's illegal where you are, remember?  I don't break laws.  I just lie about breaking them.  It's pathological.  I'm working on it, I swear :P

I dont follow, have you associated your real life identity with your forum handle? What exactly is linking anything back to you?

So i tried

C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print vrlib

and it couldnt find gem.exe, but there was a gem file with  no extension so i renamed it gem.exe and tried again and it made the cursor in the command prompt go all over the place and doesnt do anything. I checked my firewall to see if it was downloading, but it doesnt show any connections.

also tried

rubyw.exe metasilk.rb in the command prompt nothing happened, then i tried the same thing with ruby.exe and got the error i got before.

Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 08:03 am
Damn.  Alright, it's not what I thought it was... not fixed, don't bother downloading it.  I'm gonna have to just bite the bullet and fucking boot Windows myself or something.  God forbid, right, hah... Well, I'll figure it out; thanks again for the help man :)

Here, for the guys who are curious what it looks like or something but don't want to bother downloading it (I've been there, heh): http://wuakd3inzzy5iz4w.onion/images/328763f9275b530b9e46d148205e73d6.png

Ignore the weirdness with the window bars and the missing terminal lines -- it was either personally identifiable info or just something I didn't want the whole world to know was on my screen because I'm weird and paranoid like that (and as we've established, I don't work with graphics often).


No, I'm not findable easily.  But look at my post count.  I happen to know how effective profiling is, that's all.  If I were to actually be a person of interest, I expect that they would find me.  Therefore my safety depends on remaining a person that is a waste of time to bother finding.  I like to make sure I come right out and say that for the boys in (insert government agency location here) reading all this every now and then... :)
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 21, 2013, 08:24 am
Damn.  Alright, it's not what I thought it was... not fixed, don't bother downloading it.  I'm gonna have to just bite the bullet and fucking boot Windows myself or something.  God forbid, right, hah... Well, I'll figure it out; thanks again for the help man :)

Here, for the guys who are curious what it looks like or something but don't want to bother downloading it (I've been there, heh): http://wuakd3inzzy5iz4w.onion/images/328763f9275b530b9e46d148205e73d6.png

Ignore the weirdness with the window bars and the missing terminal lines -- it was either personally identifiable info or just something I didn't want the whole world to know was on my screen because I'm weird and paranoid like that (and as we've established, I don't work with graphics often).


No, I'm not findable easily.  But look at my post count.  I happen to know how effective profiling is, that's all.  If I were to actually be a person of interest, I expect that they would find me.  Therefore my safety depends on remaining a person that is a waste of time to bother finding.  I like to make sure I come right out and say that for the boys in (insert government agency location here) reading all this every now and then... :)

That's only if you post the same way IRL. For example i don't go into long diatribes explaining things most of the time IRL. Semi-different online persona here.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 21, 2013, 08:33 am
They have access to every letter I've written and sent via email (presumably -- best to assume so).  Every college paper I wrote, every IM I ever sent, every product I've ever bought (we all do know what those silly "Savers Club" cards are for, yes?  Selling ads, of course they track what we buy to target us with ads), etc., etc. etc..

If they think you're of interest and you didn't plan to be of interest, you lose.  Game over.  They win.  Period.  They will find you.  I didn't plan on ever trying to be found.  It's too late now I'm sure, they likely crawl this board a dozen times a day and archive it all.

So there you have it.  A thousand posts is a lot of fucking information.  Trust me.  Their techniques work.
Title: Re: A Silk Road client application and general purpose API
Post by: dbz4u on February 21, 2013, 08:38 am
They have access to every letter I've written and sent via email (presumably -- best to assume so).  Every college paper I wrote, every IM I ever sent, every product I've ever bought (we all do know what those silly "Savers Club" cards are for, yes?  Selling ads, of course they track what we buy to target us with ads), etc., etc. etc..

If they think you're of interest and you didn't plan to be of interest, you lose.  Game over.  They win.  Period.  They will find you.  I didn't plan on ever trying to be found.  It's too late now I'm sure, they likely crawl this board a dozen times a day and archive it all.

So there you have it.  A thousand posts is a lot of fucking information.  Trust me.  Their techniques work.

I'm not saying it's any sort of a guarantee, just a mitigation method. And yes 1000 posts is a fuckton of data to pull from to do a speech analysis. However i talk extremely intellectually here almost exclusively, and this is most certainly not the case in real life
Title: Re: A Silk Road client application and general purpose API
Post by: Töörländer on February 21, 2013, 09:30 am
Guys, I can't corroborate with DPR.  I'd love to, but I can't.  I'm an American.  It would make me a conspirator in every crime he'd be charged with.  You can't use this program if it's illegal where you are, remember?  I don't break laws.  I just lie about breaking them.  It's pathological.  I'm working on it, I swear :P

I dont follow, have you associated your real life identity with your forum handle? What exactly is linking anything back to you?

So i tried

C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print vrlib

and it couldnt find gem.exe, but there was a gem file with  no extension so i renamed it gem.exe and tried again and it made the cursor in the command prompt go all over the place and doesnt do anything. I checked my firewall to see if it was downloading, but it doesnt show any connections.

also tried

rubyw.exe metasilk.rb in the command prompt nothing happened, then i tried the same thing with ruby.exe and got the error i got before.

try:

C:\ruby193\bin\gem.bat install nokogiri socksify mechanize awesome_print vrlib

but check your firewall, worked for me
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 21, 2013, 11:21 pm
Guys, I can't corroborate with DPR.  I'd love to, but I can't.  I'm an American.  It would make me a conspirator in every crime he'd be charged with.  You can't use this program if it's illegal where you are, remember?  I don't break laws.  I just lie about breaking them.  It's pathological.  I'm working on it, I swear :P

I dont follow, have you associated your real life identity with your forum handle? What exactly is linking anything back to you?

So i tried

C:\ruby193\bin\gem.exe install nokogiri socksify mechanize awesome_print vrlib

and it couldnt find gem.exe, but there was a gem file with  no extension so i renamed it gem.exe and tried again and it made the cursor in the command prompt go all over the place and doesnt do anything. I checked my firewall to see if it was downloading, but it doesnt show any connections.

also tried

rubyw.exe metasilk.rb in the command prompt nothing happened, then i tried the same thing with ruby.exe and got the error i got before.

try:

C:\ruby193\bin\gem.bat install nokogiri socksify mechanize awesome_print vrlib

but check your firewall, worked for me

C:\>C:\ruby193\bin\gem.bat install nokogiri socksify mechanize awesome_print vrl
ib
ERROR:  Could not find a valid gem 'nokogiri' (>= 0) in any repository
ERROR:  Possible alternatives: nokogiri
ERROR:  Could not find a valid gem 'socksify' (>= 0) in any repository
ERROR:  Possible alternatives: socksify
ERROR:  Could not find a valid gem 'mechanize' (>= 0) in any repository
ERROR:  Possible alternatives: mechanize
ERROR:  Could not find a valid gem 'awesome_print' (>= 0) in any repository
ERROR:  Possible alternatives: awesome_print
ERROR:  Could not find a valid gem 'vrlib' (>= 0) in any repository
ERROR:  Possible alternatives: vrlib

C:\>


They have access to every letter I've written and sent via email (presumably -- best to assume so).  Every college paper I wrote, every IM I ever sent, every product I've ever bought (we all do know what those silly "Savers Club" cards are for, yes?  Selling ads, of course they track what we buy to target us with ads), etc., etc. etc..

If they think you're of interest and you didn't plan to be of interest, you lose.  Game over.  They win.  Period.  They will find you.  I didn't plan on ever trying to be found.  It's too late now I'm sure, they likely crawl this board a dozen times a day and archive it all.

So there you have it.  A thousand posts is a lot of fucking information.  Trust me.  Their techniques work.


Whoa, slow down on the amphetamines there, you dont talk any differently than i or anyone else with an education does. Profiling is a joke, they can't even profile people correctly at the airports, how are they going to determine one out of the millions of tor users? You think they're collecting dossiers on everyone who uses tor? So what, this is what you've revealed, you are a programmer, you dont like making gui's, you live in the us, your probably white/asian male, 18-30, you like amphetamines, you use tor....alright that describes about 75% of tor users. For them to find you they would have to eliminate 99.9999% of tor users. The only thing the government has against us is fear, and it seems to be working quite well.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 23, 2013, 01:28 am
They have access to every letter I've written and sent via email (presumably -- best to assume so).  Every college paper I wrote, every IM I ever sent, every product I've ever bought (we all do know what those silly "Savers Club" cards are for, yes?  Selling ads, of course they track what we buy to target us with ads), etc., etc. etc..

If they think you're of interest and you didn't plan to be of interest, you lose.  Game over.  They win.  Period.  They will find you.  I didn't plan on ever trying to be found.  It's too late now I'm sure, they likely crawl this board a dozen times a day and archive it all.

So there you have it.  A thousand posts is a lot of fucking information.  Trust me.  Their techniques work.


Whoa, slow down on the amphetamines there, you dont talk any differently than i or anyone else with an education does. Profiling is a joke, they can't even profile people correctly at the airports, how are they going to determine one out of the millions of tor users? You think they're collecting dossiers on everyone who uses tor? So what, this is what you've revealed, you are a programmer, you dont like making gui's, you live in the us, your probably white/asian male, 18-30, you like amphetamines, you use tor....alright that describes about 75% of tor users. For them to find you they would have to eliminate 99.9999% of tor users. The only thing the government has against us is fear, and it seems to be working quite well.

It's not the amphetamines, believe me.  I've been taking them long enough to recognize irrational paranoia on the extremely rare occasions that I start feeling it.  Have a newspaper quote that's two years old, which means it's a lot better now than it was then:

Quote
Recently, a team of computer scientists at Concordia University in Montreal took advantage of an unusual set of data to test another method of determining e-mail authorship. In 2003, the Federal Energy Regulatory Commission, as part of its investigation into Enron, released into the public domain hundreds of thousands of employee e-mails, which have become an important resource for forensic research. (Unlike novels, newspapers or blogs, e-mails are a private form of communication and aren’t usually available as a sizable corpus for analysis.)

 Using this data, Benjamin C. M. Fung, who specializes in data mining, and Mourad Debbabi, a cyber-forensics expert, collaborated on a program that can look at an anonymous e-mail message and predict who wrote it out of a pool of known authors, with an accuracy of 80 to 90 percent. (Ms. Chaski claims 95 percent accuracy with her syntactic method.) The team identifies bundles of linguistic features, hundreds in all. They catalog everything from the position of greetings and farewells in e-mails to the preference of a writer for using symbols (say, "$" or "%") or words ("dollars" or "percent"). Combining all of those features, they contend, allows them to determine what they call a person’s "write-print."

Worst case scenario, they end up wanting me as bad as DPR (yes, yes, as laughable as that may be, it's not 100% impossible and if you aren't at least considering worst case scenarios, you really need to start -- if it's not impossible, it may happen).  That means they'll use basic techniques any fool could figure out to narrow down their list of candidates to a size that's manageable.  They'll feed everything they know I've written into a program.  They'll get a handful of candidates.  They'll pay someone $100/hr to analyze my writings and identify me with relative certainty.

You must know that this is possible.  I mean don't you?  Now is it likely?  No, of course not; how likely you estimate it to be depends entirely on what kind of probability you assign to them wanting to find someone that badly.  I'm thinking long term, "what if," here.  Not "likely to happen."  I have no desire to expose myself to the level of risk DPR faces.  I intend to never get caught for anything.  Ever.

Most people get caught.  Therefore if you don't want to get caught... you have to be more careful than most people.  Being careful means assessing risk and being aware of possibilities.  It's possible that if I actually helped DPR with the site or worked with him on a client... they'd decide I'm just as worth finding, especially since there's so much more information available on me than on him.

So what part of this reasoning are you telling me is wrong...?
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 23, 2013, 03:02 am

It's not the amphetamines, believe me.  I've been taking them long enough to recognize irrational paranoia on the extremely rare occasions that I start feeling it.  Have a newspaper quote that's two years old, which means it's a lot better now than it was then:

Quote
Recently, a team of computer scientists at Concordia University in Montreal took advantage of an unusual set of data to test another method of determining e-mail authorship. In 2003, the Federal Energy Regulatory Commission, as part of its investigation into Enron, released into the public domain hundreds of thousands of employee e-mails, which have become an important resource for forensic research. (Unlike novels, newspapers or blogs, e-mails are a private form of communication and aren’t usually available as a sizable corpus for analysis.)

 Using this data, Benjamin C. M. Fung, who specializes in data mining, and Mourad Debbabi, a cyber-forensics expert, collaborated on a program that can look at an anonymous e-mail message and predict who wrote it out of a pool of known authors, with an accuracy of 80 to 90 percent. (Ms. Chaski claims 95 percent accuracy with her syntactic method.) The team identifies bundles of linguistic features, hundreds in all. They catalog everything from the position of greetings and farewells in e-mails to the preference of a writer for using symbols (say, "$" or "%") or words ("dollars" or "percent"). Combining all of those features, they contend, allows them to determine what they call a person’s "write-print."

Quote
Using this data, Benjamin C. M. Fung, ...collaborated on a program that can look at an anonymous e-mail message and predict who wrote it out of a pool of known authors, with an accuracy of 80 to 90 percent.

Quote
and predict who wrote it out of a pool of known authors

Quote
a pool of known authors
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 23, 2013, 05:59 am
So in other words, you feel that writing analysis techniques and programs are so limited that they're all but useless not only today, but also, tomorrow, the day after, and basically until the end of time.

I do not.  What's your point?
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 23, 2013, 07:34 am
My point is writing analysis only works based off a subset of named authors. So they get a fingerprint of SelfSovereignty, what are they going to check it against, everything everyone has ever written anywhere? Maybe oneday when their new Protect Everyone against Terrorism project forces people to register themself online with their forehead embedded id, but until then theres no conceivable way they can correlate everything everyone writes to an identity and then fingerprint that to a persons name.

I dont mean to sidetrack this thread but you shouldnt stall development just because youre afraid of some theoretical attack that was based off a very controlled experiment. Get some funding and support from the staff and the community and continue creating this very cool tool.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 23, 2013, 09:40 am
LOL... are you for real?  What do you think I'm doing as I try to explain this -- I use the forums for mini-breaks while I work.

What do you think I meant by "basic profiling techniques," anyway?  I meant cross referencing every list that I'm almost certainly on, and coming up with perhaps 100k names or fewer.  That's manageable.  If you've got the resources they do and you want to find somebody, it's not a difficult thing.  Let me put it this way: I'm relatively confident I could find every person who has over 1000 posts on this board if I had access to government databases.  The fact that you can't imagine anyone being clever enough to do that is just... naive, I don't know how else to put it.  This is what some people spend literally their entire lives doing.

So we disagree.  That's fine.  But since it's my ass on the line and not yours, I'm trusting myself and not you.  I don't see what the big problem with that is -- obviously you don't like it, but what do you want me to say here?  I'm not going to do something just because you seem to think I should.  Also, if you didn't realize it, I've been working on this for 3.5 months now and this thread isn't the first time I've mentioned it; even if I had talked to somebody from Silk Road... why the fuck would I actually say as much?  Other than bragging rights or something, it would serve no purpose.

Why would anyone else need to know?
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 23, 2013, 03:52 pm
Back on topic!

SS, monitorwindow.rb, @ line 184, win.show rescue() hangs my gui on notification. Commented out.

Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 23, 2013, 05:35 pm
Thanks Eddie, think I fixed it.  You're the only one telling me what's broken in Windows: keep reporting bugs and I'll keep fixing them.

Try this one & tell me if the message list feature works or not, would you?  http://oukryuqqc7ffenin.onion/files/c9ddfab0f1132a546c23181c64b603bc.zip

Quote from: ChangeLog
Date:   Sat Feb 23 2013

    Added an icon for the "show log" menu item.
   
    The version is now set dynamically in the about window as opposed to
    statically in the Glade file.
   
    The main window was automatically showing if new activity was detected; it
    seems like this would be awfully irritating.  The tray icon still
    flashes, but the main window doesn't automatically show itself anymore.
   
    Fixed a bug displaying the readme doc from the Help menu when running
    the program.
   
    The "send message" window no longer closes immediately upon clicking
    the "send," button: it will now stay open and show a "success" message
    upon successful delivery.  This should make it easier to send similar or
    identical messages to multiple parties, as well as prevent losing the
    message in the event of failure.


Date:   Sat Feb 23 2013

    Implemented the MessageList feature; you can now open your mailbox in a
    dedicated window to view them in list form, sort by field, read,
    respond, etc..
   
    The Message.list method of the API now fully fills in the fields of the
    message objects it returns.
   
    Implemented a workaround for Windows hangs involving the set_title
    method; in Windows the username of the monitored account will no longer
    show at all.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 23, 2013, 10:21 pm
Rawr!

Sorry Eddie, that was a total waste of your (and my) time.  Ruby's 'host_os' value doesn't even contain the substring 'win' in it when running on a Windows machine.  It's the fucking compiler the Windows version of Ruby was built with, "mingw32"... I don't know how the fuck that's a "host operating system," but hey, what do I know.  Platform, host, compiler, what's the difference, right?   :-X

Finally dug up a copy of Win7 to test with in a VM -- everything works except that stupid next unread msg feature... I'll update the downloads when I get it fixed -- just letting you know not to waste your time incase you haven't already.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 23, 2013, 10:22 pm
Rawr!

Sorry Eddie, that was a total waste of your (and my) time.  Ruby's 'host_os' value doesn't even contain the substring 'win' in it when running on a Windows machine.  It's the fucking compiler the Windows version of Ruby was built with, "mingw32"... I don't know how the fuck that's a "host operating system," but hey, what do I know.  Platform, host, compiler, what's the difference, right?   :-X

Finally dug up a copy of Win7 to test with in a VM -- everything works except that stupid next unread msg feature... I'll update the downloads when I get it fixed -- just letting you know not to waste your time incase you haven't already.

Better watch out for that NSA key, they're watching you.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 24, 2013, 06:56 am
Original post updated.

... that sounds too much like DPR.  I'll start saying it differently or something.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 24, 2013, 08:17 pm
Original post updated.

... that sounds too much like DPR.  I'll start saying it differently or something.

Excellent. This version that works beautifully under Windows. Didn't need to make any changes.

Got a feature request for you:
The save session feature is really useful for speeding login, but it doesn't really integrate w using multiple instances/accounts. On save/load session can you open a file dialog to choose a filename in order to keep multiple session files? Or some better solution to juggle multiple session cookies. (File dialog is just the first thing that occurs to me)

In other news, my textual analysis of the last post confirms SelfSovereignty is actually DPR... (cue the SWAT teams...)
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on February 24, 2013, 08:56 pm
Another feature request/suggestion:

Can the application pre-cache the message list and first x messages on login? This would greatly speed up the /apparent/ speed of the app...
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 25, 2013, 12:03 am
Alright i got it to work on windows, looks good, very very basic interface no doubt it does more on the command line but that would be a step back from TBB. Its just as slow as TBB because of SR's crappy servers, but then again it does alert you of new messages or orders without having to actively refresh the page. The only issue with the basic gui is that it didnt show my current messages when i opened up the view messages box, even after it finished loading it never showed them. All in all the windows version seems incomplete but if you're a serious vendor you shouldnt be using windows anyways.

Will attempt on tails and see if it works.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 25, 2013, 01:37 am
Alright i got it to work on windows, looks good, very very basic interface no doubt it does more on the command line but that would be a step back from TBB. Its just as slow as TBB because of SR's crappy servers, but then again it does alert you of new messages or orders without having to actively refresh the page. The only issue with the basic gui is that it didnt show my current messages when i opened up the view messages box, even after it finished loading it never showed them. All in all the windows version seems incomplete but if you're a serious vendor you shouldnt be using windows anyways.

Will attempt on tails and see if it works.

Hm, that's a tad troublesome.  Worked for me every time in testing.  Yes, it does take a bit of time on occasion; how much time really depends on what time of day it is.  Eddie's suggestion is basically what I'm planning on doing soon enough: I can't make the internet go faster, but I can make it look a Hell of a lot faster by caching or prefetching data that's almost certainly to be of interest to somebody.  I mean for example, if you get a new message, it's pretty safe to assume you'll likely want to check that message before long.  The only reason it doesn't prefetch the message already is because then the server marks it as having been read, which is not what we want it to do in those circumstances -- so I thought it better to just leave it be for now.

In response to it being incomplete -- indeed, it's definitely incomplete.  I quite agree.  It isn't finished yet, why would it be complete...?  :)  To be serious though, masterblaster, I think you may be looking to the program for something I never intended it to do.  It was really only ever supposed to be a small thing that would make the lives of vendors a little less of a hassle.  Everything else I'm just doing because I like learning, I like programming, and those are both more fun when somebody actually uses the stuff you write.  That's all.  I don't mean to come off as though I'm going to put the website out of business or something.  The summary in the ReadMe.txt says it's unlikely to be of interest to your average weekend warrior for a reason: it doesn't really do anything worthwhile if all you do is buy occasional stuff.  If you're sick of refreshing the page at the computer all day long though, it's awfully convenient to have notifications played automatically instead of refreshing dozens or hundreds of times.

I don't know, maybe I'm not reading you right, but it seems like you want it to be everything to everyone or something.  Truthfully though I am kind of looking forward to sorting by fucking price... I don't know, not for any real reason.  Just because I've decided it doesn't work and God damn it, I'm going to make it   ::)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 25, 2013, 01:45 am
Original post updated.

... that sounds too much like DPR.  I'll start saying it differently or something.

Excellent. This version that works beautifully under Windows. Didn't need to make any changes.

Got a feature request for you:
The save session feature is really useful for speeding login, but it doesn't really integrate w using multiple instances/accounts. On save/load session can you open a file dialog to choose a filename in order to keep multiple session files? Or some better solution to juggle multiple session cookies. (File dialog is just the first thing that occurs to me)

In other news, my textual analysis of the last post confirms SelfSovereignty is actually DPR... (cue the SWAT teams...)

Yeah, I thought about that... just not sure how to handle it so that it's still really convenient.  A file dialogue is such a hassle by comparison... but you're right, it's not really useful at all if you have more than one account, so... I dunno.  I'll think about it.

BTW: yes, yes, hah-hah-hah.  I get it, I have too much faith in programmers and I should stop worrying.  Maybe someday I even will... :)
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 25, 2013, 06:08 am

I don't know, maybe I'm not reading you right, but it seems like you want it to be everything to everyone or something.  Truthfully though I am kind of looking forward to sorting by fucking price... I don't know, not for any real reason.  Just because I've decided it doesn't work and God damn it, I'm going to make it   ::)

I got the impression from the description that we would be able to browse SR with it, must have heard you wrong. Was hoping for it to be a faster way to browse, like if it could cache things on a per item basis so the whole page didnt have to reload just because you change some parameters.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 25, 2013, 06:30 am
Yeah, regrettably one of my posts was apparently extremely misleading.  It's a very vulnerable position, putting yourself out there and saying "hey, I've got this thing I've been working on, and I think it's worthwhile to XYZ, but not ABC -- if any XYZ would like to use it, here ya go."

I initially let myself get a little defensive when I was met by... well, a "wtf good is this thing," attitude.  Despite all attempts to be much more, I am -- unfortunately -- human.  I listed off what I thought someone would use the API for, not what I plan to do and/or have done myself to use it for.

Oddly enough though, I'm actually doing it myself at this point... but no matter how the idea got out there, I didn't intend to replace the site and still have no plans to in the near future.
Title: Re: A Silk Road client application and general purpose API
Post by: onefishtwofishredfishblue on February 25, 2013, 09:28 am
subbing
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on February 26, 2013, 07:34 am
Ive just finished installing ruby2.0 on windows (after uninstalling 193), reran install.bat but it gives errors that it cant install nokogirl and some others without build tools, though i selected everything when installing ruby. Either way metasilk wont run now.

Also something occurred to me when installing this, your install bat lists specific dependencies in a specific order, couldnt this be used to profile your TBB users, since cmd/terminal goes outside of tor? Just a thought, if you can package the dependencies with your program and offer it up as a single install, or at least let people know that the risk exists and to use tails/libertie with metasilk if they are concerned this might be a better solution to protecting them.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 26, 2013, 08:35 am
Yes, it's entirely possible masterblaster.  That's why I include most of the gems.  The problem is that the program uses... well I think it's 17 libraries all said and done.  About 10 of which have to be compiled for the target platform.  The ones that I don't include are so common that I don't consider it any risk at all.

Ruby is a very popular language.  It's much bigger than Bitcoin.  Some of the top 10 websites in the world are built on the Ruby on Rails framework.  There's no risk of profiling through the libraries not included -- that's my opinion, and we've established that I'm more cautious than necessary.

As for Ruby 2.0... I haven't even tried 2.0 yet, so I'm not even sure it would work even if you could install the dependencies properly.  A higher version number does not always mean "better in every way."  The Linux kernel is on 3.8 I think now, but they still backport security fixes for the 2.6 series.  Frequently people don't care about features, they want stability and security -- Ruby 2.0 is a feature release focusing on features and speed. 1.8 and 1.9 are safer.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 26, 2013, 11:03 am
So I checked, and building the libraries is a serious hassle with Ruby 2.0.  As a matter of fact, I actually had to fix a syntax error in the Ruby header files to get them all to compile... but if you do upgrade to 2.0, and you manage to actually get everything built, it'll run just fine in either 1.9 or 2.0.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on February 27, 2013, 01:35 am
I'd like to thank whoever anonymously donated a bitcoin on the 25th :)  If it's okay with you, I think I'll indulge in a pizza with it tomorrow night.  It's been a very long time since I had a pizza.
Title: Re: A Silk Road client application and general purpose API
Post by: TK1991 on March 02, 2013, 05:18 pm
<3 I have only 0.63 cents, bbbbut you can have that + my love!!
Title: Re: A Silk Road client application and general purpose API
Post by: p3nd8s on March 02, 2013, 06:33 pm
Installing software from a third untrusted party? What guarantee is there that your software is not an LE attempt to sabotage SR users? All of this work for a few bitcoins in donations? No offense, but I doubt it.

I wouldn't touch this software with a ten foot pole.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 02, 2013, 06:38 pm
It's open source. Read the code or move along, it's not for you.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 03, 2013, 12:56 am
Installing software from a third untrusted party? What guarantee is there that your software is not an LE attempt to sabotage SR users? All of this work for a few bitcoins in donations? No offense, but I doubt it.

I wouldn't touch this software with a ten foot pole.

I would be more concerned its not a ploy to net SS some serious coin, otherwise ur firewall should report any opennet connections.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 03, 2013, 01:25 pm
Installing software from a third untrusted party? What guarantee is there that your software is not an LE attempt to sabotage SR users?

Well that, more than anything, is why I didn't just make up some random name and release it under an account with 0 posts.  Or 50 (newbie restriction), etc.  Because I probably wouldn't even bother reading the code if somebody posted it anonymously.  I mean it would be a truly simple way to avoid all this profiling business that I'm so concerned about -- an answer that simple didn't escape my notice :)

You either trust me or you don't.  If you don't, then that's perfectly fine.  Your concerns are valid.  But here I am, there's the code, and this is my word: I use it myself and I'm doing my best to protect everybody who uses it just as well as I protect myself.

What's probably news to everybody else but has driven me insane hour after hour: I've finally tracked down the bug causing random lockups.  I'm more than slightly irritated by the Ruby GTK maintainers, I don't mind saying.  There's a massive incompatibility they make no mention of.  They never breath a word of it in any of the documents.  If I hadn't been able to clearly recognize something that absolutely must be a thread synchronization issue, and hadn't been willing to spend hours sifting through mail list discussions, I never would have fixed it or even figured out wtf was going on.

So just incase anybody actually is -- if you're using the code as a library, even without the GUI, just the fact that it includes the Ruby GTK+2 bindings could randomly cause thread deadlocks.  This is an issue even if you don't use multiple threads because the library does.  The symptom is that your program will just die.  No errors, no failed assertions, won't even respond to any signals except KILL and TSTP.  It's a very low level deadlock.

It's what I ended up spending most of this past week on; it's fixed, you won't have to make any modifications to your code either.  I'll post it soon.  I just have an aversion to releasing something before I'm confident it's solid, and I haven't had a chance to test it in Windows yet.  The first post will be updated when I do.

To the people who donated this week:  thank you guys.  I mean sincerely, it was really nice to pop open my wallet and be greeted with a couple of unexpected bitcoins  :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 04, 2013, 03:12 pm
So, yeah... I did at least get to your feature request, Eddie -- you can choose the files now.  Lots of other small improvements.  But other than that, I got very little of what I wanted to finished.  See the quote from the changelog if you want the details.
Title: Re: A Silk Road client application and general purpose API
Post by: müslix on March 04, 2013, 05:57 pm
http://i.qkme.me/3p49a1.jpg 
Title: Re: A Silk Road client application and general purpose API
Post by: müslix on March 04, 2013, 06:02 pm
What guarantee is there that your software is not an LE attempt to sabotage SR users? All of this work for a few bitcoins in donations? No offense, but I doubt it.

I wouldn't touch this software with a ten foot pole.

I had to double take this. Dude. The sourcecode is the guarantee. How the hell did you even manage to get on SR?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 05, 2013, 11:59 am
Thanks Muslix; it's still pretty rough, but it's getting there.  Updated the d/l link to 0.5.0.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 06, 2013, 09:03 pm
0.5.0 won't run for me:
Code: [Select]
X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `require_relative': cannot load such file -- X:/snip/metasilk-
0.5.0/metasilk/searchresults (LoadError)
        from X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `<main>'
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 06, 2013, 09:20 pm
0.5.0 won't run for me:
Code: [Select]
X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `require_relative': cannot load such file -- X:/snip/metasilk-
0.5.0/metasilk/searchresults (LoadError)
        from X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `<main>'

doesnt work for me either. only 1.9.3 on whatever version number metasilk u had last works (on windows). would u leave a stable link up next to your new version link?
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 07, 2013, 01:02 am
0.5.0 won't run for me:
Code: [Select]
X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `require_relative': cannot load such file -- X:/snip/metasilk-
0.5.0/metasilk/searchresults (LoadError)
        from X:/snip/metasilk-0.5.0/metasilk/metasilk.rb:50:in `<main>'

Looks like you forgot to put searchresults.rb in the zip file.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 07, 2013, 02:05 am
Theres a bug in the working version, it shows the amount of BTC i have as USD and gives me the equivalent in BTC.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 07, 2013, 02:07 am
Also can you recommend a good code editor i can view the source in, im looking at this in notepad and its giving me a headache.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 07, 2013, 02:40 am
Also can you recommend a good code editor i can view the source in, im looking at this in notepad and its giving me a headache.

I like Notepad++

SS, another small bug: Account balances over $1000 are displayed incorrectly.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 07, 2013, 09:57 am
... this is what I get for testing the program from the same location even in my VM.  Obviously the file exists for me and the program runs -- I wrote the thing, why wouldn't it be there.  Oh, because I forgot to put it in the distribution sandbox to zip and distribute: great test, there, SS.  Real thorough  ::)

I'll start using the actual zip in a clean environment to test.  I'll also start leaving at least two versions up at a time.  Give me an hour or two and I'll fix the links.

Can you define "not displayed correctly?"  Is there not enough room for the digits ($1234.56) and it gets cut off you mean...?  If so, what happens if you increase the size of the window?  Actually, never mind... I'll just tell it I have half a million dollars and see what happens.

Oh, editors: I like Vi, but it's something of an acquired taste.  Most people can't figure out how to close the program the first time they use it.  A lot of people like Emacs; it's pretty nice.  If you just want quick and easy syntax highlighting, Eddie's suggestion is a good one.

I don't use IDEs (integrated development environments) unless I'm forced to, so there aren't any project files or anything that I'm holding back or something.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 07, 2013, 03:20 pm
Can you define "not displayed correctly?"  Is there not enough room for the digits ($1234.56) and it gets cut off you mean...?  If so, what happens if you increase the size of the window?  Actually, never mind... I'll just tell it I have half a million dollars and see what happens.

For instance $1,012.34 is displayed as $12.34 in both the window and the mouseover on the icon. The BTC balance displayed is that incorrect USD amount divided by current exchange rate. 
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 07, 2013, 03:22 pm
Oh.  Er... so SR formats it as "$1,012.34" ?  Yeah, the comma would definitely do it.  Easy enough, thanks man.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 07, 2013, 03:47 pm
And 0.5.1 is missing perflib.rb
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 07, 2013, 04:09 pm
Not anymore.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 07, 2013, 05:13 pm
and gpg_interface.rb :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 07, 2013, 05:17 pm
God damn it, why did I make that required, auto-decryption of messages isn't even finished yet  >:(

Code: [Select]
echo 'class GPG; end' >> gpg_interface.rb

There, your gpg_interface now has all the functionality that my gpg_interface has.  On another note, I think we've established that when I say untested, I damn well mean it.

To be serious, it's unstable in Windows.  I just checked.  The options window freezes the program.  So don't open that (don't you love my approach to bugs in unstable versions?)  It's got the fix for your balance > 1k bug though.  And updating the d/l link.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 07, 2013, 05:57 pm
Stable 0.5.0 item search function caused metasilk to freeze the first two times i tried it then it caused my computer to freeze the 3rd time, luckily i had task manager open at the time which showed processor usage for ruby in 50-100% range before i had to restart my computer.

Btw is the search function in metasilk the same crappy search engine SR uses or can it use google-like search parameters ( - " " OR)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 07, 2013, 06:02 pm
Currently it does a whole lot of fucking nothing, frankly, Masterblaster.  The site's search functionality is even worse than I thought it was.  It's going to take some doing to make it useful and intuitive.  You aren't actually missing anything.  I'm pretty pissed about it freezing though; it didn't in Win 7 for me.

You using Ruby 1.9.3 or 2.0?

On a side note, this is fucking ridiculous:
Quote from: Metasilk Log
12:57:28 INFO  Finished update.
12:57:28 DEBUG Average time to refresh all data is 120.841812

120.84 seconds is the average it takes to successfully contact the site right now.  That's just unacceptable... I mean c'mon.


Edit: oh yeah, I forgot.  Of course it did -- it's totally lame in 0.5.0, it isn't even in its own thread.  It's gonna freeze the GUI, sure.  You can either wait it out or not use it.  I recommend not using it, because it takes fucking FOREVER to get the results... I'm not sure how I want to handle that.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 08, 2013, 03:18 am
Oh damn, well thats alright its easier to just sift through the categories on SR anyways. At least the messaging and account balance functions work for the most part, beats the hell out of reloading the site constantly.
Title: Re: A Silk Road client application and general purpose API
Post by: Mr. Fluffles Schrodinger on March 14, 2013, 02:13 am
Monitoring.
Excited.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 14, 2013, 02:26 am
Hey, this is really coming along. :)

A lot of people have asked for sort by price.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on March 14, 2013, 05:16 am
Its working alot better. Sort works too, though definitely not much use right now as the prices are still all over the place (though even if they werent SR doesnt have weights as a listing parameter so it will only tell you so much). Would be nice to have that subsort feature, where you can select one column to sort, then another column to subsort the first column. Its gettin there!
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 14, 2013, 04:10 pm
Its working alot better. Sort works too, though definitely not much use right now as the prices are still all over the place (though even if they werent SR doesnt have weights as a listing parameter so it will only tell you so much). Would be nice to have that subsort feature, where you can select one column to sort, then another column to subsort the first column. Its gettin there!

My God... masterblaster is pleased?  :o   This can only be an ill omen...!

LOL, thanks guys.  Subsorting is coming, actually.  For the moment a non-configurable "smart sort" is sorting by category, then price.  It's also surprisingly easy to parse the title of a listing and break it down to the cost per gram, etc, so that's coming too.  I mean it's working right now but it isn't perfect or user configurable.  Browse by category is there too.  To be clear, not there in 0.5.2, it's coming when I put 0.6 up.

It's... painfully slow, though.  But I guess getting 1,000 search results on pages of 35 matches at a time is gonna take awhile -- I've got it loading one page at a time in the background right now so that you don't have to wait for the whole list, but it's still irritating.  Other than caching results and showing the user stale data though, I don't think there's anything I can do about that.
Title: Re: A Silk Road client application and general purpose API
Post by: Bungee54 on March 17, 2013, 08:43 pm
HI!##

very cool peace of code u wrote here ! *thumbsup*

I wanted to try it on a crunchbang nix VM (debian based) ..

after a few problems with missing dependencies in ruby I finally got very far...

But now I Get the following error

Code: [Select]
Installing RDoc documentation for vrlib-0.0.33...
/etc/tor/torrc already has a SocksPort 9050 line, skipping
Adding a SocksListenAddress 127.0.0.1 line to /etc/tor/torrc
/bin/sh: 1: cannot create /etc/tor/torrc: Permission denied
make: *** ["/etc/tor/torrc"] Error 2

this happens with 'make'

when I run metasilk.rbw absolutely nothing happens ..

do I need to run it as root?  because then I get the following output

Code: [Select]
WARNING:  You don't have /root/.gem/ruby/1.9.1/bin in your PATH,
  gem executables will not run.


I hope somebody can help me as i tried for some time now but cant find a solution?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 17, 2013, 09:57 pm
Er, I haven't updated the 0.5.2 Makefile -- that's old, sorry.  You don't need to screw with your torrc anymore.  You can just type "make gems" and it'll install the required dependencies.  I think by default to avoid requiring privileges, it installs them into your home directory... pretty sure that's how I set 0.5.2 up anyway.  If you still get messages about missing files or something, then just stick them in the system location with "make gems-remote" and it'll just do a regular install.

To be clear, you do not need any special permissions for anything except installing the dependencies (the gems).

Oh -- also, if you don't have Tor running, the program doesn't do much except fail.  It should at least give you an error message though if you're in Linux... in Windows, if you want console output you have to run it with "ruby" instead of just running "metasilk.rbw", but in Linux you should be getting a failure message at least.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 12:19 am
I haven't tried to install this in a while, but I'm getting a lot of errors now. Apparently it requires libxslt1-dev now? I figured that much out, but there's other stuff. I can send you full output in private.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 12:49 am
It always needed libxml2 and libxslt...   ???   Apparently the problem is that I broke installation completely trying to avoid root privileges... thanks astor, I had no idea.
Title: Re: A Silk Road client application and general purpose API
Post by: 1mIcedout on March 18, 2013, 01:49 am
Sub'd...
Interesting...
Title: Re: A Silk Road client application and general purpose API
Post by: zenturtle on March 18, 2013, 02:02 am
sub
doing great work SS, thanks for sharing. don't heed any of the unconstructive criticism.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 02:10 am
SS, I'm still concerned about a fingerprinting attack on this software. It tries to install the following gems from rubygems.org:

awesome_print
gtk2
mechanize
nokogiri
socksify
vrlib

I also see it fetching these:

pkg-config
glib2
atk
cairo
net-http-digest_auth
net-http-persistent
mime-types
ntlm-http
webrobots
unf_ext
unf
domain_name
require_all


If this is the only software in the world that downloads this specific combo of gems, then an attacker with access to the rubygems.org server logs can enumerate the users of this software. Installation on Tails should be fine, because all connections are transparently proxied over Tor. On other Linux distros, you could include instructions to run the make command with torsocks, which should be installed if the headless Tor client is installed. On Windows, I'm not sure what to do. Is there a Windows version of torsocks that can be bundled with it?

Edit: I found these, but haven't tried them...

http://www.freehaven.net/~aphex/torcap/
https://github.com/cpatulea/TorCap2
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 08:13 am
- Gtk2 comes with the Windows installer, and is basically one of the all but 2 choices for stable/mature GUI toolkits.  Virtually everyone everywhere who uses Ruby has it.  I mean millions and millions of people use Gtk2.  It's what Pidgin uses & requires, as well, BTW.

- awesome_print is included in the zip file I posted.  As are the ruby bindings for gtk2.  Meaning they don't have to be downloaded from anywhere, they're already there.

- mechanize is also in the zip file and doesn't have to be downloaded.

- socksify is no longer an external dependency, I pulled it in to the project and it's not external anymore.  When it was, it was also included in the zip file.  FYI, the only modifications I made were to the event logging mechanism.

- vrlib is in there too; no download of that either.

I'm grateful for your attention to detail and I'm always open to possible attack vectors, but honest, astor -- the pool of candidates who download the dependencies I don't include are practically every Ruby user out there.  Ruby is currently the 2nd most popular language, depending on who's list you go by; in other words, they'd have better luck finding us by throwing stones randomly.

If you use the "gems-remote" option, which the Makefile does not do unless you specify it manually, then yes, the gems are downloaded from remote storage.  But as it turns out, that wasn't the problem.  I should have looked at my own KNOWN_BUGS file: Ubuntu doesn't come with gtk2-dev, only gtk2.  Metasilk requires the gtk2-dev package, since it's building the GUI code as part of the install process.  "apt-get install gtk2-dev" should fix at least that if not everything you saw.

It's almost impossible to plan for every Linux distro and Windows as well.  The problems you're seeing are actually the Ruby guys, not me (though since the program uses Ruby, it's obviously something I have to deal with as though it were my code).

The zip would be about 100mb if I included every last dependency.  That's just overkill, and besides, it still wouldn't guarantee success -- your compiler version isn't the same as mine (I don't use Ubuntu), etc..  I'm happy to try and make sure things go smoothly on most distros, but there isn't really any good way of "fixing" the installation, is what I'm getting at.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 01:03 pm
I didn't notice they were bundled with it. That's why it said "installing" for the first batch and "fetching" for the second. Makes sense.

Yeah, I see your point. I don't know how common these gems are to download, alone or in combination, but it might be fair to at least tell people about the option to download over Tor in the README.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 02:01 pm
Well, I've kind of started uploading a new version every week, and even though my updates aren't in a "release" worthy state, I put them up there.  Mostly because I doubt I'm going to feel like cleaning it up and testing it properly in the next few days, so I may as well.

That's what "unstable" branches/versions are for.  Hey, they're the versions I use, so they aren't that unstable... :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 02:05 pm
I didn't notice they were bundled with it. That's why it said "installing" for the first batch and "fetching" for the second. Makes sense.

Yeah, I see your point. I don't know how common these gems are to download, alone or in combination, but it might be fair to at least tell people about the option to download over Tor in the README.

Absolutely right, astor: I try to keep it useful instead of exhaustive (too much to read is worse than not enough sometimes), but I should mention that, I agree.  BTW, if anybody wants to give me the installation script that uses torsocks or wraps the Ruby gem package manager in socksify or something, I'll gladly use it.  And credit you & stuff, of course.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 02:57 pm
You don't need to modify the installation script. If torsocks is on the system, start the MetaSilk installation with

torsocks make

On a Debian based distro, torsocks will be installed with the vanilla Tor client.

Depends: libc6 (>= 2.14), libevent-2.0-5 (>= 2.0.10-stable), libssl1.0.0 (>= 1.0.1), zlib1g (>= 1:1.1.4), adduser, lsb-base
Recommends: logrotate, tor-geoipdb, torsocks


Anyone who wants to run MetaSilk should have the vanilla client anyway. Running a persistent application through TBB's Tor is hackish. Plus, the one of the main selling points of a desktop app like MetaSilk is that you don't need to have a browser open all the time.

So, in the README you could include one line that if you want to install over Tor, run torsocks make. Also point out that if installing in Tails (which is quite popular around here), they don't have to do that because all connections are torified already.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 03:48 pm
Believe it or not, man... almost nobody uses Linux.  And not a single person I've heard from is using Tails.  Everybody's in Windows.  Even eddie with his crazy self-built Android kernel on a custom mobile phone is using Windows currently (unrelated necessity, I think, but don't quote me on it).

In fact... two.  Yeah, I can only think of two guys I've spoken to who're using my program in some incarnation of *Nix.  Not including me.  But again, you make good points and I agree with you.  It's going on the list.  Which is... kind of long, honestly -- I may be awake tinkering most of the time, but even I don't have infinite time...
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 05:41 pm
Hey, so I got it to work. Had to install libgtk2.0-dev, libxml2-dev and libxslt1-dev before running make.

export PATH=$HOME/.gem/ruby/1.9.1/bin:$PATH

Then it complained that ~/.metasilk/config didn't exist, so mkdir ~/.metasilk; touch ~/.metasilk/config, and done.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 06:24 pm
I'm actually working on something remotely similar to this myself in .net/c#. I've finished the login gui, login processing, and parsing of the user data and categories so far. I'm taking my time with it and over organizing everything, for example I'm using classes for categories and subcategories to make them objects/types to store in lists.

The main gui will have multiple tabs for dealing with messages, account operations, vendors, vendor feedback, vendor reviews, current listings, searching, mtgox, etc. It will have all the obvious features like message alerts, balance alerts, bitcoin price fluctuation alerts, better organized vendor info from SR and from the forums combined into one display, better searching and search result list capability like list by price, list by vendor feedback score, etc.

I plan on releasing it here on the forums for free if it's OK with the SR staff and community. I will talk to a staff member before I post anything of course. It's going to be open source, I will post the source so that people can view all of the code, modify it, and compile it on their own. No idea o

No offense, but... all of that, using C# and Microsoft's CLR bindings?  If you enjoy it, then by all means, make it.  It's just that I don't see how you're going to pull that off in under 6-12 months on your own.  I don't want to discourage you though; any project is a good project if you learn from it.

I've never been a fan of Microsoft technologies, myself.  Their CLR really isn't all that bad, when you get down to it though.  Still doesn't really make up for the .NET framework in general (for my tastes, I mean).  And God do I hate their IDEs... they hide all the really interesting stuff and make it almost impossible to learn what's really going on.  It really depends on what your goal is though I guess -- getting a working product or understanding how it got built, you know.  Their products obviously work well enough and all that these days -- I mean Bill Gates isn't poor, right :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 18, 2013, 06:26 pm
Hey, so I got it to work. Had to install libgtk2.0-dev, libxml2-dev and libxslt1-dev before running make.

export PATH=$HOME/.gem/ruby/1.9.1/bin:$PATH

Then it complained that ~/.metasilk/config didn't exist, so mkdir ~/.metasilk; touch ~/.metasilk/config, and done.

Thank you, astor.  I mean really, thank you: that's exactly the sort of thing that's an incredible hassle for me to test, because it requires a fresh environment and I haven't done the sensible thing and dedicated a VM snapshot to remaining clean to test installing with.  You just saved me like 2-4 hours, if not more :)
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 18, 2013, 06:32 pm
Yes, it's important to get tested often. :)

np
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 22, 2013, 04:50 pm
So here's the current state of the project: it no longer crashes or freezes in Windows to my knowledge.  Admittedly I only bother even using Windows at all to test compatibility with, so my testing isn't exactly extensive, but the point is that every fatal bug I know of has been addressed.  Any that remain I'm not even aware of and should at worst inconvenience the user, not crash the application outright.

In Linux, I have tested extensively and over durations of more than 24 hours at a time. The application is rock solid for me and will retry every failed I/O attempt transparently to the calling code until it gets it right (or it encounters an unrecoverable error that isn't a failed network op like a timeout or something).

I've seen it retry single GET requests for hours at a time while Tor attempted to build a circuit and reach SR, and it happily waited until the operation was finished successfully before it returned the data requested.  In this case it was a search of the entire SR listings database, which ended up dying midway -- but Metasilk faithfully displayed half of it anyway while it kept on trying, finally got the data it asked for, returned it to the calling GUI code, and my list of everything was promptly finished displaying: price-and-category-sorted list in one window of every item for sale.  Which did me little good except to have it there to stare at, since I never did get to actually adding anything into your cart from the program.  But it was fun to see how well it worked even in the face of a network that crumbled beneath its feet, and to just have that list of every item for sale on SR sorted by price there in front of me too :)

It then kept running and updating itself for the next 24 hours without a single issue.  I'm pretty pleased with it; there are some rough edges and some features that may or may not be of use to some that I didn't get to, but it does what I set out to make it do and it does that very reliably and very diligently.  I haven't used the site to read or respond to a letter for months, and I probably never will again.  Manually encrypt messages with PGP my foot -- that's for people who don't code (or know somebody who does, like me)  :P

In short, it's not clean and tidy (or as well documented as) the way a general purpose API should be, but I'm satisfied.  I find it extremely useful, personally.  Infact I'm beyond satisfied given that it's free.  Some guy is selling a stripped down version that doesn't do half of what mine does for over $50 bucks on SR, did you know that?  I sure didn't until a few days ago when the fucking thing popped up in a search (on an in-my-program search, no less, hah!)

If that fucker's using my early code, I swear I'll find him and drown him in a pool of rabid ferrets or something, just you wait...!  I'm coming for you, Obsidian...

... We all know I'm joking, I hope.  I mean yeah right, like I'd bother to even if I could find him; I'll just let him keep ignoring my polite requests to see the code I think I own the copyright for, LOL... it's cool and all, it happens when you give your stuff away :)

If you guys want to toss me a bitcoin here or there for the crazy hours I've now put into it -- or even as a means of asking for more stuff added -- I'll be happy to make it do anything anyone wants to toss me a few coins for.  But beyond that, I'm going to focus on something that'll actually help me get some food in my stomach for the time being.  I really can't afford not to anymore, honestly.

It was fun to write it & coordinate with everybody about it, and I may keep doing so occasionally :)  I'm not abandoning it by any means, by the way.  It's just that I can't afford to not get paid for all this coding I do all day long, hah... please do be sure to let me know if you find problems though.  I just need to switch gears to more profitable work, that's all.
Title: Re: A Silk Road client application and general purpose API
Post by: Bungee54 on March 22, 2013, 08:01 pm
KUDOS TO YOU !!!


Gonna send a coin or two !


Cheers!
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 22, 2013, 09:32 pm
KUDOS TO YOU !!!


Gonna send a coin or two !


Cheers!

Thanks man, that really is appreciated.  I hope you enjoy the euro display :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 24, 2013, 12:14 pm
I don't know about you guys, but I found the account balance being displayed in USD, EUR, and BTC simultaneously pretty irritating: I added an option to specify which currencies you want it displayed in, as well as a few tooltips that explain menu items.
Title: Re: A Silk Road client application and general purpose API
Post by: Aurelius Venport on March 24, 2013, 03:20 pm
Thanks SS and thanks astor for helping out you guys rock!
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 24, 2013, 05:36 pm
Thanks SS and thanks astor for helping out you guys rock!

You're quite welcome; thanks for saying thanks, heh  :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 29, 2013, 09:42 pm
Why would you people have been using this thing with it failing in Windows so frequently?  Somebody should've told me, it would've been fixed a lot sooner.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 29, 2013, 10:18 pm
Why would you people have been using this thing with it failing in Windows so frequently?  Somebody should've told me, it would've been fixed a lot sooner.

Yeah I meant to say something about that. While I got you here, the currency display is still b0rking when account has more than $999.
$1,523.93
is displayed as $1 and B0.0114

Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 29, 2013, 10:25 pm
Right,
Why would you people have been using this thing with it failing in Windows so frequently?  Somebody should've told me, it would've been fixed a lot sooner.

Yeah I meant to say something about that. While I got you here, the currency display is still b0rking when account has more than $999.
$1,523.93
is displayed as $1 and B0.0114



Sure, I can procrastinate another half hour I guess, heh... can you show me exactly what the site displays when it's over 999?  I've never seen a balance that high, I'm not sure what it should be parsing.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on March 29, 2013, 11:13 pm
Yeah, mine borks when it displays more than 999 BTC.

Oh wait, in my dreams. :)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 29, 2013, 11:23 pm
Never mind, I found it.  Updating the d/l link to 1.0.3...
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on March 29, 2013, 11:56 pm
Yup, you got it  8)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 30, 2013, 12:27 am
I knew I should have updated the known bugs... enable display of BTC -- it shouldn't let you disable it really.  Doing so causes a bug when it updates.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 30, 2013, 12:43 am
If you have enough to share one or two, then I'd be grateful.  If not, don't worry about it -- I hope the program's useful to you either way :)
Title: Re: A Silk Road client application and general purpose API
Post by: Fallkniven on March 30, 2013, 12:52 am
I seriously would love to just give out $200 to everyone here but I just can't afford it mate ;) I was thinking more like $5 or $10... something is better than nothing right?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 30, 2013, 12:59 am
Er, shit, I didn't mean like 1 or 2 whole coins at $90 a piece... yeah, that sounded... not, the way I meant it to, lol.  I meant one or two as in "whatever amount you like."

Don't worry about it man.  Seriously -- if you aren't a vendor, it isn't really all that useful anyway.
Title: Re: A Silk Road client application and general purpose API
Post by: Fallkniven on March 30, 2013, 02:00 am
it's all good mate, i'll swing a bit of coin your way soon...
Title: Re: A Silk Road client application and general purpose API
Post by: maxhavelaar on March 30, 2013, 02:25 am
funny that i saw you today and have been learning a lot of python and selenium that mimicks firefox to get to the data while this was already largely available. Thanks for the good work, lets all work to make batches do the waiting, while we package the goods or use what we ordered!
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on March 31, 2013, 05:00 pm
Hey Sovereignty if you can help me out with a problem, that would be awesome and I will send you $10 so you can buy pizza, or more meth to continue coding this awesome thing.

I am running windows 8, I managed to get it to work for a few days, but suddenly when I go for a new sessid I get the error "undefined method `links' for false:FalseClass" and the captcha won't load.

Also, does the program have to be in the tool bar for it to make noise? I tried testing it last night, and could get nothing out of it, but I also did not minimize it to the tool bar.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on March 31, 2013, 10:50 pm
Hey Sovereignty if you can help me out with a problem, that would be awesome and I will send you $10 so you can buy pizza, or more meth to continue coding this awesome thing.

I am running windows 8, I managed to get it to work for a few days, but suddenly when I go for a new sessid I get the error "undefined method `links' for false:FalseClass" and the captcha won't load.

Also, does the program have to be in the tool bar for it to make noise? I tried testing it last night, and could get nothing out of it, but I also did not minimize it to the tool bar.

Oh dear; well that's not good... hrm.  Maybe one of the operations involved with logging in is timing out consistently.  I'm not sure, I'll have to get back to you on that.  I'm quite certain that loading a saved cookie works fine, for what it's worth; I also just logged in okay, but I'll see if I can get it to fail on me (and I also don't have Windows 8 to test with).  As for the sounds, that's sort of so-so in Windows.  If you go into the options menu under tools, you can enter the exact line you want the program to use to play sounds.  There's an example if you hover over the entry box (tooltip pops up -- there's tooltips all over the place if you didn't know), but it doesn't quite work properly.

You're supposed to be able to start mplayer minimized and have it close itself when done, but... it just doesn't work.  Dunno why.  But anyway, you can use whatever program you want.  It'll play sounds whether it's minimized or not.

If it isn't obvious, I'm a pretty nice guy: you folks don't have to promise me donations and then stiff me to get me to help you.  Honestly that really kind of pisses me off -- I'd rather you just asked for help.  This would make the third time people have said they were going to donate and didn't, for context -- again, it's fine, just please don't say you will to get me to help and then blow me off.  That's all :)
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on March 31, 2013, 10:59 pm
Hey Sovereignty if you can help me out with a problem, that would be awesome and I will send you $10 so you can buy pizza, or more meth to continue coding this awesome thing.

I am running windows 8, I managed to get it to work for a few days, but suddenly when I go for a new sessid I get the error "undefined method `links' for false:FalseClass" and the captcha won't load.

Also, does the program have to be in the tool bar for it to make noise? I tried testing it last night, and could get nothing out of it, but I also did not minimize it to the tool bar.

Oh dear; well that's not good... hrm.  Maybe one of the operations involved with logging in is timing out consistently.  I'm not sure, I'll have to get back to you on that.  I'm quite certain that loading a saved cookie works fine, for what it's worth; I also just logged in okay, but I'll see if I can get it to fail on me (and I also don't have Windows 8 to test with).  As for the sounds, that's sort of so-so in Windows.  If you go into the options menu under tools, you can enter the exact line you want the program to use to play sounds.  There's an example if you hover over the entry box (tooltip pops up -- there's tooltips all over the place if you didn't know), but it doesn't quite work properly.

You're supposed to be able to start mplayer minimized and have it close itself when done, but... it just doesn't work.  Dunno why.  But anyway, you can use whatever program you want.  It'll play sounds whether it's minimized or not.

If it isn't obvious, I'm a pretty nice guy: you folks don't have to promise me donations and then stiff me to get me to help you.  Honestly that really kind of pisses me off -- I'd rather you just asked for help.  This would make the third time people have said they were going to donate and didn't, for context -- again, it's fine, just please don't say you will to get me to help and then blow me off.  That's all :)

I was waiting for you to offer advice before I sent the money. You want it sent via silk or to a wallet? Pm it to me.

Honestly, I feel like I have to offer you something because of how bad ass this program is. Its a little rough around the edges, but man, this thing right here is the bomb. I feel like I downloaded it from BMR for 0.001btc.

Anyways, I feel guilty because its awesome. You should continue onward and smooth this thing out man, and then sell it for like $50 a pop. Shit, I would pay $50 just to have a program that plays noise when I get a order/message. I'm not sure what your "end goal" was of this project. I guess it was something fun to tweak on huh? Anyways let me know where to send the tip.
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on March 31, 2013, 11:40 pm
Hey SS I figured it out. unchecking "read only" makes everything smooth as butter.

Pm me where you want this money. Its not a lot but your deserve it man, honestly.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 01, 2013, 12:46 am
Hey Sovereignty if you can help me out with a problem, that would be awesome and I will send you $10 so you can buy pizza, or more meth to continue coding this awesome thing.

I am running windows 8, I managed to get it to work for a few days, but suddenly when I go for a new sessid I get the error "undefined method `links' for false:FalseClass" and the captcha won't load.

Also, does the program have to be in the tool bar for it to make noise? I tried testing it last night, and could get nothing out of it, but I also did not minimize it to the tool bar.

Oh dear; well that's not good... hrm.  Maybe one of the operations involved with logging in is timing out consistently.  I'm not sure, I'll have to get back to you on that.  I'm quite certain that loading a saved cookie works fine, for what it's worth; I also just logged in okay, but I'll see if I can get it to fail on me (and I also don't have Windows 8 to test with).  As for the sounds, that's sort of so-so in Windows.  If you go into the options menu under tools, you can enter the exact line you want the program to use to play sounds.  There's an example if you hover over the entry box (tooltip pops up -- there's tooltips all over the place if you didn't know), but it doesn't quite work properly.

You're supposed to be able to start mplayer minimized and have it close itself when done, but... it just doesn't work.  Dunno why.  But anyway, you can use whatever program you want.  It'll play sounds whether it's minimized or not.

If it isn't obvious, I'm a pretty nice guy: you folks don't have to promise me donations and then stiff me to get me to help you.  Honestly that really kind of pisses me off -- I'd rather you just asked for help.  This would make the third time people have said they were going to donate and didn't, for context -- again, it's fine, just please don't say you will to get me to help and then blow me off.  That's all :)

I was waiting for you to offer advice before I sent the money. You want it sent via silk or to a wallet? Pm it to me.

Honestly, I feel like I have to offer you something because of how bad ass this program is. Its a little rough around the edges, but man, this thing right here is the bomb. I feel like I downloaded it from BMR for 0.001btc.

Anyways, I feel guilty because its awesome. You should continue onward and smooth this thing out man, and then sell it for like $50 a pop. Shit, I would pay $50 just to have a program that plays noise when I get a order/message. I'm not sure what your "end goal" was of this project. I guess it was something fun to tweak on huh? Anyways let me know where to send the tip.

LOL... yeah, basically -- something fun to tweak on is exactly right :)  The address is in the Help -> About info if you want to toss me a little something.  If not, it's cool: either way, I'm glad you like it :)
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on April 01, 2013, 04:51 am
Hey Sovereignty if you can help me out with a problem, that would be awesome and I will send you $10 so you can buy pizza, or more meth to continue coding this awesome thing.

I am running windows 8, I managed to get it to work for a few days, but suddenly when I go for a new sessid I get the error "undefined method `links' for false:FalseClass" and the captcha won't load.

Also, does the program have to be in the tool bar for it to make noise? I tried testing it last night, and could get nothing out of it, but I also did not minimize it to the tool bar.

Oh dear; well that's not good... hrm.  Maybe one of the operations involved with logging in is timing out consistently.  I'm not sure, I'll have to get back to you on that.  I'm quite certain that loading a saved cookie works fine, for what it's worth; I also just logged in okay, but I'll see if I can get it to fail on me (and I also don't have Windows 8 to test with).  As for the sounds, that's sort of so-so in Windows.  If you go into the options menu under tools, you can enter the exact line you want the program to use to play sounds.  There's an example if you hover over the entry box (tooltip pops up -- there's tooltips all over the place if you didn't know), but it doesn't quite work properly.

You're supposed to be able to start mplayer minimized and have it close itself when done, but... it just doesn't work.  Dunno why.  But anyway, you can use whatever program you want.  It'll play sounds whether it's minimized or not.

If it isn't obvious, I'm a pretty nice guy: you folks don't have to promise me donations and then stiff me to get me to help you.  Honestly that really kind of pisses me off -- I'd rather you just asked for help.  This would make the third time people have said they were going to donate and didn't, for context -- again, it's fine, just please don't say you will to get me to help and then blow me off.  That's all :)

I was waiting for you to offer advice before I sent the money. You want it sent via silk or to a wallet? Pm it to me.

Honestly, I feel like I have to offer you something because of how bad ass this program is. Its a little rough around the edges, but man, this thing right here is the bomb. I feel like I downloaded it from BMR for 0.001btc.

Anyways, I feel guilty because its awesome. You should continue onward and smooth this thing out man, and then sell it for like $50 a pop. Shit, I would pay $50 just to have a program that plays noise when I get a order/message. I'm not sure what your "end goal" was of this project. I guess it was something fun to tweak on huh? Anyways let me know where to send the tip.

LOL... yeah, basically -- something fun to tweak on is exactly right :)  The address is in the Help -> About info if you want to toss me a little something.  If not, it's cool: either way, I'm glad you like it :)

Check your wallet. Sent you what I could. I'm a new vendor so its rough, but I appreciate this program very much man. Thank you. Hoenstly I feel like if you could get it into a windows install package 90% of the road would use it. They hear things like "ruby" and they freeze up.
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on April 04, 2013, 03:24 pm
Any one else having problems?

Since yesterday the latest version is having trouble logging in.

Code: [Select]
11:22:19 ERROR undefined method `text' for nil:NilClass
11:22:19 DEBUG P:/snip/metasilk-1.0.4/metasilk/metasilk.rbw:556:in `header_info'
P:/snip/metasilk-1.0.4/metasilk/metasilk.rbw:560:in `message_count'
P:/snip/metasilk-1.0.4/metasilk/command.rb:392:in `block in monitor'
P:/snip/metasilk-1.0.4/metasilk/command.rb:383:in `loop'
P:/snip/metasilk-1.0.4/metasilk/command.rb:383:in `monitor'
Title: Re: A Silk Road client application and general purpose API
Post by: astor on April 04, 2013, 03:38 pm
Haven't tried 1.0.4 but I'll test it out and get back to you later today.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 04, 2013, 07:48 pm
Well, it's logging in alright for me, but both the primary source (bitcoincharts.com) and the fallback (mtgox.com) are failing to provide the current price of bitcoins.  Bitcoincharts.com is giving a 502 error (bad gateway) almost every time, and MtGox is failing the SSL certificate check... don't know what that's about.  Other than that though, working fine for me.

Though I did find a bug... it doesn't retry a specific operation if it fails during login.  I'll try to get to it soon.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 05, 2013, 03:43 pm
Hoenstly I feel like if you could get it into a windows install package 90% of the road would use it. They hear things like "ruby" and they freeze up.

I'm amazed by how many people vend using Windows.  I mean it's not stupid or anything, I'm just surprised because I would have thought more people would demand high levels of security they can verify themselves rather than trusting Microsoft not to fuck us all over or something.  Anyway, you asked for it: first post is updated with a (hopefully) easy installer for Windows.

I haven't tested it on a 100% clean system, only ones that I've already installed Metasilk on myself.  So point being, it's kind of untested in the field.  Let me know if the program won't run after using it.
Title: Re: A Silk Road client application and general purpose API
Post by: masterblaster on April 05, 2013, 04:00 pm
Unless u have a dedicated machine people use windows cause they got the rest of their stuff on there.
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on April 07, 2013, 09:19 pm
Hey SS,

I randomly started getting the "undefined method `links' for false:FalseClass" and the captcha won't load, like before. I have done everything I could to get this to work and im at a dead end. Any ideas?  :'(
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 07, 2013, 09:27 pm
Hey SS,

I randomly started getting the "undefined method `links' for false:FalseClass" and the captcha won't load, like before. I have done everything I could to get this to work and im at a dead end. Any ideas?  :'(

Turn your verbosity up to 5 (Tools -> Options) and paste me the debug statement directly after the "ERROR" line you're seeing (it'll say something like "DEBUG in /somedir/metasilk.rbw:1721 blah-blah".  You can PM it, doesn't matter really -- whatever you're comfortable with.

You can try making sure that the program has write permission to its data directory (something like "c:\Users\USERNAME\.metasilk") and verify that the site is actually up.  I really have no idea what's going wrong without the debug output, but are you trying to login (start a new session), or load a saved session (cookie)?  Because that makes a difference.
Title: Re: A Silk Road client application and general purpose API
Post by: coachella420 on April 08, 2013, 01:48 am
Hey SS,

I randomly started getting the "undefined method `links' for false:FalseClass" and the captcha won't load, like before. I have done everything I could to get this to work and im at a dead end. Any ideas?  :'(

Turn your verbosity up to 5 (Tools -> Options) and paste me the debug statement directly after the "ERROR" line you're seeing (it'll say something like "DEBUG in /somedir/metasilk.rbw:1721 blah-blah".  You can PM it, doesn't matter really -- whatever you're comfortable with.

You can try making sure that the program has write permission to its data directory (something like "c:\Users\USERNAME\.metasilk") and verify that the site is actually up.  I really have no idea what's going wrong without the debug output, but are you trying to login (start a new session), or load a saved session (cookie)?  Because that makes a difference.

I will get that debug for you now. But everytime this happens its when I try to start a new session after opening meta
Title: Re: A Silk Road client application and general purpose API
Post by: anonymouse23 on April 21, 2013, 06:01 am
The download site is down. :(
Title: Re: A Silk Road client application and general purpose API
Post by: BBB on April 21, 2013, 06:21 am
Ill fuck you up Mblaster mfucker, just kidding dont got time for that shit bro your lucky, if I decide to fuck you up I will  til then be kool and stay faggot.
Title: Re: A Silk Road client application and general purpose API
Post by: BBB on April 21, 2013, 06:23 am
I would be an asshoile like I used too because I like to bother people but I got make real money and get something poppin, but I think MBlaster isthe POPO
Title: Re: A Silk Road client application and general purpose API
Post by: BBB on April 21, 2013, 06:24 am
Its been real my friends but I'm out for a while for real peace.
Title: Re: A Silk Road client application and general purpose API
Post by: Marwood on April 21, 2013, 05:41 pm
The download site is down. :(

I noticed this too, for the Linux version. Would SelfSovereignty care to update the download location in the opening post?
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 22, 2013, 01:23 am
The download site is down. :(

I noticed this too, for the Linux version. Would SelfSovereignty care to update the download location in the opening post?

Hmph; onion sites -- always coming and going... well, if anybody's got a link to a site that hosts downloads, I'll update 'em.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on April 22, 2013, 02:45 am
Didn't you get a Torhost site? Put it on there. Or I can give you an FH invite and you can put it on there. It's far less likely to disappear.
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 22, 2013, 04:02 am
No, I had no affiliation with TorShare, which is where I was uploading the stuff.  I mean I *could* just find a free clearweb site, but I don't want to be able to accidentally connect to it via my usual browser.  Onion sites for onion business, I guess, heh.
Title: Re: A Silk Road client application and general purpose API
Post by: astor on April 22, 2013, 04:21 am
Torhost and TorShare are different sites.

You can get a free Torhost site  http://torhostg5s7pa2sn.onion/

Or like I said, I can give you an FH invite.
Title: Re: A Silk Road client application and general purpose API
Post by: pine on April 22, 2013, 08:10 am
They have access to every letter I've written and sent via email (presumably -- best to assume so).  Every college paper I wrote, every IM I ever sent, every product I've ever bought (we all do know what those silly "Savers Club" cards are for, yes?  Selling ads, of course they track what we buy to target us with ads), etc., etc. etc..

If they think you're of interest and you didn't plan to be of interest, you lose.  Game over.  They win.  Period.  They will find you.  I didn't plan on ever trying to be found.  It's too late now I'm sure, they likely crawl this board a dozen times a day and archive it all.

So there you have it.  A thousand posts is a lot of fucking information.  Trust me.  Their techniques work.


Whoa, slow down on the amphetamines there, you dont talk any differently than i or anyone else with an education does. Profiling is a joke, they can't even profile people correctly at the airports, how are they going to determine one out of the millions of tor users? You think they're collecting dossiers on everyone who uses tor? So what, this is what you've revealed, you are a programmer, you dont like making gui's, you live in the us, your probably white/asian male, 18-30, you like amphetamines, you use tor....alright that describes about 75% of tor users. For them to find you they would have to eliminate 99.9999% of tor users. The only thing the government has against us is fear, and it seems to be working quite well.

masterblaster is right. You're letting fear infect your better judgement. There are no absolutes with power, it is always context dependent,, governments are perceived to be all powerful but this is at least partially based on myth. People are overly impressed by direct forms of power, such as murder and filling cages with people they don't like. Even at the highest levels and at their most professional they are surrounded by incompetence, it's the stuff of legend even inside government circles.

The record on achieving their most important objectives is simply abysmal. Three examples spring immediately to mind. It took them over a decade to capture the world's most wanted man. None of their intelligence agencies figured out that Communism was about to suddenly fall, hell, they didn't even get the big picture about the Russian economy right and the real numbers regarding ICBMs. And the world's largest and richest superpower lost a war to some of the poorest people on earth.

Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on April 22, 2013, 09:11 am
Please, can we not get into this yet again?  I choose to err on the side of caution.  I really don't see what the big deal is, guys.  It's my ass on the line here; though I admit, I've come to think I could probably post my fucking social security number and nobody would come looking for me, but even so... better safe than sorry.

Got the URLs sorted, by the by.
Title: Re: A Silk Road client application and general purpose API
Post by: 3r3 on May 25, 2013, 12:16 am
Anyone who uses this software is just begging to be busted. It is clearly an LE trojan to circumvent the security of the Tor browser bundle (TBB). Just look at who is doing the review of the source code: eddiethegun, the vendor that doesn't sell anything illegal, he wouldn't even ship nightvision items outside the US because it's illegal without an export license. Also note his email address: nypd@tormail.org.

You've been warned!
Title: Re: A Silk Road client application and general purpose API
Post by: Fallkniven on May 25, 2013, 03:03 am
Anyone who uses this software is just begging to be busted. It is clearly an LE trojan to circumvent the security of the Tor browser bundle (TBB). Just look at who is doing the review of the source code: eddiethegun, the vendor that doesn't sell anything illegal, he wouldn't even ship nightvision items outside the US because it's illegal without an export license. Also note his email address: nypd@tormail.org.

You've been warned!

LOLWUT?!?!

astor, you've tried MetaSilk, what do you think?
Title: Re: A Silk Road client application and general purpose API
Post by: eddiethegun on May 25, 2013, 05:17 am
Anyone who uses this software is just begging to be busted. It is clearly an LE trojan to circumvent the security of the Tor browser bundle (TBB). Just look at who is doing the review of the source code: eddiethegun, the vendor that doesn't sell anything illegal, he wouldn't even ship nightvision items outside the US because it's illegal without an export license. Also note his email address: nypd@tormail.org.

You've been warned!

noooo! thwarted by my email again!
Title: Re: A Silk Road client application and general purpose API
Post by: TrashBox on May 25, 2013, 06:35 am
 :o

SS is awesome and  BRILLIANT

I love using the program <33 might be one of the reasons we are able to keep our customers so happy (ah shit, shhhhhhhhhh, it's a secret)

Title: Re: A Silk Road client application and general purpose API
Post by: astor on May 25, 2013, 08:22 pm
LOLWUT?!?!

astor, you've tried MetaSilk, what do you think?

Doesn't really matter what I think. You (or a competent friend) can read the code and see what it does.

But yeah, I've used it, and it doesn't do anything malicious.

Frankly, the idea that SS would write malware is preposterous. He has more integrity than just about anyone.
Title: Re: A Silk Road client application and general purpose API
Post by: Fallkniven on May 26, 2013, 10:03 pm
I had a quick look through the code over the last few days but I'm no expert in that subject by any means... i'm sure that some forum members (myself included) will be relieved to see some higher ranking forum members putting 3r3's fud to rest ;)
Title: Re: A Silk Road client application and general purpose API
Post by: SelfSovereignty on May 27, 2013, 11:40 am
LOLWUT?!?!

astor, you've tried MetaSilk, what do you think?

Doesn't really matter what I think. You (or a competent friend) can read the code and see what it does.

But yeah, I've used it, and it doesn't do anything malicious.

Frankly, the idea that SS would write malware is preposterous. He has more integrity than just about anyone.

Wow.  That means a tremendous amount coming from you, man.  Thank you :)

With respect to the project: I haven't done much of anything with it at all for... at least a month or two.  I've made sure that as the site changes I modified the program as necessary to keep it working (e.g. anything prior to v1.2.0 is broken and can no longer log in, but 1.2.0 and 1.2.1 work fine).

There's one problem I can't get around: you now randomly get logged out unpredictably.  I mean the site just up and says "fuck you," and you have to log back in with a new captcha.  Up until the recent changes to deal with the DoS attacks, you could leave the program running for a week or two and have it always keep the most updated information possible.  Now you get a day or two on average, maybe less (hard to test stuff that takes that long to test), before it starts failing for what appears to be no reason.  And other than writing better character recognition software than anybody else anywhere has open sourced, I can't fix that.

And honestly, if I were to put the amount of time and effort in to solving that as it would take and came up with a good algorithm... I'd be patenting it and releasing it in the clear with my name and customer service and end up with millions of dollars.  Except I offer customer service for this bloody thing too... well I guess I'm just a nice geeky guy who likes helping people, what can I say.

So anyway, the program works and you're more than welcome to use it, but it's got several unfinished features that will never be finished, the documentation is no longer kept accurate, etc..  Also, it contains no malware, and if you don't believe me or don't have the skill to read the code yourself... well... I don't know -- I guess at least don't blame me for your programming ignorance?