By this I mean: it fit the entire text into the little box, and generated the keys/address in about 1 second.
I did not expect this to happen...does anyone know exactly how much text/what kinds of text this thing can eat before it breaks?
Yes, this works. it's unsurprising, and it's not good for security.
You're thinking— But Greg, I gave it like 10 million bits of entropy, it must be secure!
Wrong. The entropy of your key is
-log2( The probability that someone would feed it a book, and from your source ) + -log2( 1 / Number of books available from that source )
(assuming you chose uniformly).
So say there is a 1/10000 chance someone would use a whole project gutenberg book as a seed. There are 40,000 project gutenberg ebooks.
-log2(1/10000) + -log2(1/40000) = 28.575 bits of entropy. Crackable in moments, since generating a _great_ many keys per second isn't hard for someone who it's confined to offensively slow javascript sha256 implementations.
Your attacker is not a million monkeys smashing typewriters for eons until by chance one produces your work of Shakespeare; your attacker is someone with a strong model of human behavior and a large amount of computing power. You're up against a decenteralized consortium of geniuses each commanding a trillion strong army of faultless robots at typewriters.
Against an attack with good models the strength of your key is only the randomness of how you selected it, and may have little to do with the size of the data itself. Even if you postulate modifications of the book, the attacker can model those too. Changing all the e's to 3's? Sorry snowflake, nothing is original anymore. And if you do have a strongly random way of choosing libraries, books, and modifications— you're just as well off using that randomness directly. "Book Foo from library bar, modified thusly" has the same randomness as the actual data. (± the probability that you'd express it that particular way instead of actually doing it)
Humans are terrible at being random. Even when you think you're being clever and extra random you're often not, in fact being clever often makes you less random— you'll only think of a few possible ideas out of the space of all ideas so you can't choose uniformly between them.
Human generated private keys should simply never be used for applications where the keyed material is generally available for attack. Practically no one is able to do so securely, and a lot of people think they can but they really can't. Must of the common advice about passwords/keys is inapplicable for a case where attackers all over the world can instantly begin testing at enormous rates or apply precomputation attacks without having to compromise something first.