Bitcoin Forum
March 29, 2020, 04:18:40 PM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 [77] 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
  Print  
Author Topic: Mycelium Bitcoin Wallet  (Read 584969 times)
ZephramC
Sr. Member
****
Offline Offline

Activity: 475
Merit: 250



View Profile
August 27, 2015, 07:09:48 PM
 #1521

Sorry for my ignorance, but isn't this more general than playing a sound.  Presumably, you want to update the wallet balance from time to time anyway.  Don't you have the same address pinging privacy problem no matter whether or not you play a jingle?  I don't understand the connection to the audio file.

I'm not sure the Mycelium app updates the balance automatically. I often have to hit the refresh icon to see changes, but that could be because my Internet connection has a high latency, idk.

I think that due to security reasons, external application (different from Mycelium) should be used for address watching and making beeps. Do not know if such application exists, but it should not be difficult to make.
Can Mycelium export list of HD addresses (even old ones, even future ones) for "watch-only" in some CSV-like format?
1585498720
Hero Member
*
Offline Offline

Posts: 1585498720

View Profile Personal Message (Offline)

Ignore
1585498720
Reply with quote  #2

1585498720
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
tspacepilot
Legendary
*
Offline Offline

Activity: 1456
Merit: 1061


I may write code in exchange for bitcoins.


View Profile
August 27, 2015, 07:32:19 PM
 #1522

Sorry for my ignorance, but isn't this more general than playing a sound.  Presumably, you want to update the wallet balance from time to time anyway.  Don't you have the same address pinging privacy problem no matter whether or not you play a jingle?  I don't understand the connection to the audio file.

I'm not sure the Mycelium app updates the balance automatically. I often have to hit the refresh icon to see changes, but that could be because my Internet connection has a high latency, idk.

I think that due to security reasons, external application (different from Mycelium) should be used for address watching and making beeps. Do not know if such application exists, but it should not be difficult to make.
Can Mycelium export list of HD addresses (even old ones, even future ones) for "watch-only" in some CSV-like format?

The post by Rassah just above (quoted below for convenience) suggests a privacy issue, not a security one.  I thought SPV clients already had a way to request some superset of transactions they're actually interested in to protect privacy (though clearly not as well as a full node requesting every transaction). 

We keep getting asked this, and we keep having to explain that this is terrible for privacy. The only way a wallet can know that you have received coins is to constantly keep asking a node for an address babalce. Whoever runs that more then knows that that's your address. And with HD you would be pinging multiple addresses, so the node will know they all belong to you, and will be able to piece together your entire transaction history.
dancupid
Hero Member
*****
Offline Offline

Activity: 955
Merit: 1002



View Profile
August 28, 2015, 09:45:00 PM
Last edit: August 28, 2015, 09:57:51 PM by dancupid
 #1523

I want to be able to unlock my private keys for a specified amount of time by typing the passphrase. The same as Bitcoin Core does. I spend from Mycelium maybe once a month. I can handle typing my passphrase that often. I type it into Bitcoin Core more often than that, and it's not a problem at all.

Use BIP38 encrypted paper wallet, which you can spend from using cold storage option in Mycelium. Change goes back to the paper wallet address.

Address reuse? But I want an HD wallet, not an old-style address-reuse wallet.



You can use bip 38 to create an HD wallet  - just use the decrypted 64 char hex private key as entropy to create the 24 word passphrase
dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
August 29, 2015, 02:16:41 AM
 #1524

I want to be able to unlock my private keys for a specified amount of time by typing the passphrase. The same as Bitcoin Core does. I spend from Mycelium maybe once a month. I can handle typing my passphrase that often. I type it into Bitcoin Core more often than that, and it's not a problem at all.

Use BIP38 encrypted paper wallet, which you can spend from using cold storage option in Mycelium. Change goes back to the paper wallet address.

Address reuse? But I want an HD wallet, not an old-style address-reuse wallet.

You can use bip 38 to create an HD wallet  - just use the decrypted 64 char hex private key as entropy to create the 24 word passphrase

Could you outline the process please? I use an offline machine without network access to store encrypted private keys for cold storage, and Mycelium for online storage. Mycelium is unable or unwilling to encrypt its private keys, so what is the system you are proposing as a convenient alternative?

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
dancupid
Hero Member
*****
Offline Offline

Activity: 955
Merit: 1002



View Profile
August 29, 2015, 09:46:27 AM
 #1525

I want to be able to unlock my private keys for a specified amount of time by typing the passphrase. The same as Bitcoin Core does. I spend from Mycelium maybe once a month. I can handle typing my passphrase that often. I type it into Bitcoin Core more often than that, and it's not a problem at all.

Use BIP38 encrypted paper wallet, which you can spend from using cold storage option in Mycelium. Change goes back to the paper wallet address.

Address reuse? But I want an HD wallet, not an old-style address-reuse wallet.

You can use bip 38 to create an HD wallet  - just use the decrypted 64 char hex private key as entropy to create the 24 word passphrase

Could you outline the process please? I use an offline machine without network access to store encrypted private keys for cold storage, and Mycelium for online storage. Mycelium is unable or unwilling to encrypt its private keys, so what is the system you are proposing as a convenient alternative?

Using bitaddress.org (https://github.com/pointbiz/bitaddress.org):

Create a bip38 encrypted single private key using the 'Paper Wallet' tab and save it somewhere.
Copy the encrypted private key and open the 'wallet details' tab and paste;  enter the bip38 password to decrypt.
Scroll down and copy your Private Key Hexadecimal Format (64 characters [0-9A-F]).

Use https://github.com/bip32JP/bip32JP.github.io to create HD wallet:

Paste the Hex private key you just copied as the entropy.
select the 'Base 16' radio button and '24 words' below Bip39 passphrase.
Click 'Generate New Phrase' and a 24 word phrase should be generated.

Double check you can repeat the process with the same result before commiting any funds etc.
dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
August 29, 2015, 04:32:24 PM
 #1526

Using bitaddress.org (https://github.com/pointbiz/bitaddress.org):

Create a bip38 encrypted single private key using the 'Paper Wallet' tab and save it somewhere.
Copy the encrypted private key and open the 'wallet details' tab and paste;  enter the bip38 password to decrypt.
Scroll down and copy your Private Key Hexadecimal Format (64 characters [0-9A-F]).

Use https://github.com/bip32JP/bip32JP.github.io to create HD wallet:

Paste the Hex private key you just copied as the entropy.
select the 'Base 16' radio button and '24 words' below Bip39 passphrase.
Click 'Generate New Phrase' and a 24 word phrase should be generated.

Double check you can repeat the process with the same result before commiting any funds etc.

OK, so I have a 24 word phrase and a paper wallet I can use to regenerate it.

Now what. When I'm out and want to spend some coins what do I do? Are you suggesting I should generate a series of paper wallets from the HD wallet, print them out, carry them with me, and scan them into Mycelium when I want to spend? Will Mycelium know which change addresses I've printed out QR codes for? Will I know which change addresses it has funded? This seems like the kind of thing that software would be good at managing and people would be bad at. If Mycelium could store an encrypted copy of the 24 word mnemonic and prompt me for the passphrase when I attempt to spend then all this paper wallet shuffling could be avoided, while maintaining security against theft of device.

Or maybe I still don't understand your proposed scheme.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Rassah
Moderator
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
August 31, 2015, 03:24:01 AM
 #1527

I want to be able to unlock my private keys for a specified amount of time by typing the passphrase. The same as Bitcoin Core does. I spend from Mycelium maybe once a month. I can handle typing my passphrase that often. I type it into Bitcoin Core more often than that, and it's not a problem at all.

Use BIP38 encrypted paper wallet, which you can spend from using cold storage option in Mycelium. Change goes back to the paper wallet address.

Address reuse? But I want an HD wallet, not an old-style address-reuse wallet.

You can do cold storage with HD using an xPriv paper wallet, but unfortunately there's no BIP38 for that. There should be.

dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
August 31, 2015, 03:28:24 AM
 #1528

You can do that with xPriv paper wallet, but unfortunately there's no BIP38 for that. There should be.

So I scan the xpriv QR code into Mycelium, it checks which unspent outputs exist for that xpriv, picks some, and sends change back to another of the addresses generated from the xpriv code?

That sounds like a good solution, except that due to the lack of encryption in the xpriv QR code I have now gone from losing all my coins if my phone gets stolen to losing all my coins if the QR code gets stolen.

I was hoping for an HD solution where at least some of the information needed to spend the coins is in my head. Like as a passphrase.

Edit: Is there any such wallet available for Android? Or any open-source wallet for Android that such a feature could be added to?

As I understand it, Mycelium isn't open source and so adding such a feature isn't allowed.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Rassah
Moderator
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
August 31, 2015, 03:34:46 AM
 #1529

Sorry for my ignorance, but isn't this more general than playing a sound.  Presumably, you want to update the wallet balance from time to time anyway.  Don't you have the same address pinging privacy problem no matter whether or not you play a jingle?  I don't understand the connection to the audio file.

It's not the jingle, it's knowing when to play the jungle. Generally when you open your wallet, it only scans for some of the more recent addresses, and you have to trust us when we say we don't log them. In SPV wallets, they try to obfuscate which is your address by asking for different random ones along with yours, so the node doesn't know which is yours and which isn't. Also, it only scans it once when you open, or if you tell it to manually refresh (or if something in the wallet changes). Basically, the less often you ask, and the fewer addresses you ask for (or your own), the better. Doing a notification would basically require you to keep pinging nodes every few minutes for all or most of your addresses (since there's no way to know if just the most recent one, or an old one you gave out a while ago, is the one that will receive), and even if you obfuscate with lots of fake addresses, eventually yours will be fairly easy to pick out from the group.

FYI, chainalysis claims bloom filter obfuscation sucks, and they can get around it very easily.

Can Mycelium export list of HD addresses (even old ones, even future ones) for "watch-only" in some CSV-like format?

If you select your account, there's an option to "Export" the account in xPub format. That's the same as sharing a public address. Anyone with an xPub key can import it as watch-only and see all your addresses and balances, but can't spend from it.

Rassah
Moderator
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
August 31, 2015, 03:38:06 AM
 #1530

You can do that with xPriv paper wallet, but unfortunately there's no BIP38 for that. There should be.

So I scan the xpriv QR code into Mycelium, it checks which unspent outputs exist for that xpriv, picks some, and sends change back to another of the addresses generated from the xpriv code?

That sounds like a good solution, except that due to the lack of encryption in the xpriv QR code I have now gone from losing all my coins if my phone gets stolen to losing all my coins if the QR code gets stolen.

I was hoping for an HD solution where at least some of the information needed to spend the coins is in my head. Like as a passphrase.

Edit: Is there any such wallet available for Android? Or any open-source wallet for Android that such a feature could be added to?

As I understand it, Mycelium isn't open source and so adding such a feature isn't allowed.

Correct, correct that losing paper wallet is a concern, and I think we need to update BIP38 to have standard for encrypting xPriv keys.

Mycelium is open for anyone to look at and add features to. The only restriction is that you don't publish your own wallet, and whatever is added goes into the official app.

I'll bug the devs about this.

TheButterZone
Legendary
*
Offline Offline

Activity: 2618
Merit: 1011


RIP Mommy


View Profile WWW
August 31, 2015, 05:13:30 AM
 #1531

If you select your account, there's an option to "Export" the account in xPub format. That's the same as sharing a public address. Anyone with an xPub key can import it as watch-only and see all your addresses and balances, but can't spend from it.

Hm, so could you now or in the future...
import your Mycelium xPub to Electrum, then use Mycelium to sign unsigned TXs generated by Electrum?
OR
import your Mycelium xPriv to Electrum, delete the xPriv out of Mycelium, leaving only the xPub, then use Electrum to sign unsigned TXs generated by Mycelium?

Saying that you don't trust someone because of their behavior is completely valid.
dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
August 31, 2015, 05:15:52 AM
 #1532

Mycelium is open for anyone to look at and add features to. The only restriction is that you don't publish your own wallet, and whatever is added goes into the official app.

That's not very clear.

On the one hand you say I am free to add features, but then you say the features I add must go into the official app. What if the feature I add is rejected by whoever controls the official app?

Are you saying I'm free to add features to my local copy of the wallet but not to share my features with anyone else? If so that means it isn't under an open source license, since open source licenses allow users to share changes with each other.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
trasla
Hero Member
*****
Offline Offline

Activity: 710
Merit: 500



View Profile
August 31, 2015, 06:30:49 AM
 #1533

You can do that with xPriv paper wallet, but unfortunately there's no BIP38 for that. There should be.
So I scan the xpriv QR code into Mycelium, it checks which unspent outputs exist for that xpriv, picks some, and sends change back to another of the addresses generated from the xpriv code?
That sounds like a good solution, except that due to the lack of encryption in the xpriv QR code I have now gone from losing all my coins if my phone gets stolen to losing all my coins if the QR code gets stolen.
I was hoping for an HD solution where at least some of the information needed to spend the coins is in my head. Like as a passphrase.
...

You can already do something very similar, not with xpriv but with entire seeds.
Just generate a BIP39 word list and put that into a qr code (hint: mycelium entropy can do this).
Create one or more passwords however you prefer to.
Scan the seed words QR code, enter optional password, select account, spend.
That way, you have a HD wallet on paper, password required, each password gives another wallet.
gentlemand
Legendary
*
Offline Offline

Activity: 2324
Merit: 2406


Welt Am Draht


View Profile
August 31, 2015, 12:22:08 PM
 #1534

I'm finding the fees a little screwed up. The 'normal' fee is showing up as about 2c before sending. When it's actually sent it's deducting 15c. Has anyone had anything similar?

Rassah
Moderator
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
September 01, 2015, 07:53:55 AM
 #1535

I'm finding the fees a little screwed up. The 'normal' fee is showing up as about 2c before sending. When it's actually sent it's deducting 15c. Has anyone had anything similar?

Select your transaction in the transaction list, and Show Details. You can verify the Miner Fee at the bottom to check if it's still the same.

dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
September 01, 2015, 07:58:21 AM
Last edit: September 01, 2015, 08:40:27 AM by dooglus
 #1536

Just generate a BIP39 word list and put that into a qr code (hint: mycelium entropy can do this).

What's the format of the text to be encoded into the QR code? Just the 12 words separated by spaces?

Edit: "Just the 12 words separated by spaces" seems to be exactly what the QR code needs to encode.

That seems like a good solution. Stealing the phone gets the thief nothing. Stealing the QR code gets them nothing without the passphrase(s). You can use multiple passphrases and get completely different sets of addresses, so a longer passphrase could be used to store less-frequently used coins.

Is it documented how the passphrase modifies the seed?

Edit2: the passphrase is the standard BIP39 passphrase. Something like https://dcpos.github.io/bip39/ can be used to generate the addresses to fund the BIP39 accounts.

One thing I noticed when spending from a master seed is that the accounts are numbered wrongly:

m/44'/0'/0' is called 'Account 1',
m/44'/0'/1' is called 'Account 2',
m/44'/0'/2' is called 'Account 3',
etc.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
trasla
Hero Member
*****
Offline Offline

Activity: 710
Merit: 500



View Profile
September 01, 2015, 09:48:43 AM
 #1537

I see you answered most questions yourself already Smiley

The "wrong" numbering is a difficult topic.
While it might appeal to some if the account name matched the derivation path index, I guess most users are neither aware of this derivation nor used to 0 based numbering.
I am actually not sure how others do it, isn't your first account named Account 1 on myTrezor as well?
And speaking of "first account", "second account" it is likely easier for most to connect those to "1" and "2" than starting at "0"...

Maybe we should settle for a compromise, starting at 0.5? Tongue
(Or ask authority - https://xkcd.com/163/)
dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
September 01, 2015, 05:44:51 PM
 #1538

I see you answered most questions yourself already Smiley

Yeah - so I'm mostly happy now. I can use Mycelium in a secure way, without leaving private keys on the tablet's storage.

My only problem now is that I don't see how to get it to show me unused receiving addresses for the password-protected accounts.

It would be useful if the app would let me enter a passphrase without scanning a new "seed" phrase, and use it to generate a new temporary account from the main wallet's seed that works just like any other account in the wallet, but which gets wiped from memory when I'm done with it. Then I can use a single seed phrase for encrypted and unencrypted accounts, and not have to carry a QR code with me. I can simply memorize a few different passphrases of varying lengths for the different degrees of security I want.

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
pm7
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
September 02, 2015, 05:30:52 AM
 #1539

I asked for it, but I don't remember getting any reply.
* Support for Cold Storage spending from masterseed keys
Very good. Would be better if one could type master seed in the cold storage spending instead of copying it from somewhere else Smiley
Ah yes, I use master seed QR codes, but we should (and will likely soon) add the ability to just type the seed.
I would like to remind about that. Also, could you add the possibility of sending to/from password protected version of stored (main) master seed?
I don't see why I should type/scan master seed when I want password version if it is stored by Mycelium anyway.
There is no (or I don't know one) easy way to send to password version of master seed. I have to initialize Mycelium, or use some special tool to generate address.
dooglus
Legendary
*
Offline Offline

Activity: 2772
Merit: 1217



View Profile
September 02, 2015, 06:04:42 AM
 #1540

I asked for it, but I don't remember getting any reply.
* Support for Cold Storage spending from masterseed keys
Very good. Would be better if one could type master seed in the cold storage spending instead of copying it from somewhere else Smiley
Ah yes, I use master seed QR codes, but we should (and will likely soon) add the ability to just type the seed.
I would like to remind about that. Also, could you add the possibility of sending to/from password protected version of stored (main) master seed?
I don't see why I should type/scan master seed when I want password version if it is stored by Mycelium anyway.
There is no (or I don't know one) easy way to send to password version of master seed. I have to initialize Mycelium, or use some special tool to generate address.

I didn't realise this was all old news. I hope they add the feature we're asking for. Smiley

Just-Dice                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   Play or Invest                 ██             
          ██████████         
      ██████████████████     
  ██████████████████████████ 
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
    ██████████████████████   
        ██████████████       
            ██████           
   1% House Edge
Pages: « 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 [77] 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!