diff --git a/content/news/98-crypto-freedom.md b/content/news/98-crypto-freedom.md new file mode 100644 index 00000000..c7d57414 --- /dev/null +++ b/content/news/98-crypto-freedom.md @@ -0,0 +1,16 @@ +--- +author: jeremy +title: 'We\'re on the Verge of Complete Cryptocurrency Deregulation' +date: '2017-03-08 11:38:00' +cover: 'crypto-dereg.jpg' +--- + +Is New Hampshire the best place to run a cryptocurrency business? It already has the highest per-capita Bitcoin usage. And very soon it is likely to have the most favorable regulatory climate. + +While states like Hawaii are passing bills [so onerous](http://www.coindesk.com/coinbase-just-stopped-serving-bitcoin-hawaii/) that Bitcoin might as well be illegal, New Hampshire is passing legislation to completely deregulate cryptocurrencies. [House Bill 436](http://www.gencourt.state.nh.us/bill_status/Results.aspx?q=1&txtsessionyear=2017) exempts virtual currencies from all state regulation. Just minutes ago, it passed the New Hampshire statehouse, 185-170. + +LBRY is thrilled to have been a part of this process. As the governor-appointed industry expert on virtual currencies, I'm glad I finally had the chance to give back to a technology that has given so much to me. + +However, most of the credit goes to Represenatives [Barbara Biggie](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377207) and [Keith Ammon](http://www.gencourt.state.nh.us/house/members/member.aspx?member=377204), who introduced the bill, as well as Representative [John Hunt](http://www.gencourt.state.nh.us/house/members/member.aspx?member=372375), who helped steer it out of committee and defended it on the floor. Additionally, the [Chamber of Digital Commerce](https://digitalchamber.org/) gave us invaluable advice and advocated heavily on behalf of the bill. + +The battle is not over! If you support this effort, please [let the governor know](https://www.governor.nh.gov/contact/index.htm) and give thanks to the hard work of those mentioned above. diff --git a/content/news/99-censored-gaming.md b/content/news/99-censored-gaming.md new file mode 100644 index 00000000..c0bc6bc4 --- /dev/null +++ b/content/news/99-censored-gaming.md @@ -0,0 +1,25 @@ +--- +author: reilly +title: 'Play No Evil' +date: '2017-03-09 00:19:00' +cover: 'censored-banner.png' +--- +One of the pillars of LBRY, and in fact cryptocurrencies on the whole, is censorship resistance. + +Censorship is a problem to varying degrees in all media. LBRY seeks to minimize institutional censorship through decentralization of publishing and empowering creators everywhere. + +One of the most interesting case studies of censorship is video games. From country to country, different cultures (or governments who enforce a particular culture) yield wildly different results for virtually identical content, depending on what is considered socially permissible. + +No channel covers this better than Censored Gaming. + +![Censored Gaming](/img/news/censored-inline2.jpg) + +Since the dawn of video games and interactive media, what people should and shouldn’t be able to do in a game has remained forever a hot button issue. + +From 16bit “boobs” measuring a hefty 3 pixels bra size, to the hot coffee mod scandal of Grand Theft Auto: San Andreas, to the different cultural interpretations of meaning between Japanese and American game translations, to the Red Cross owning the IP to pictures of red crosses... no pixel is left unturned in Dan and the Censored Gaming team’s pursuit of shining a light on censorship. + +Free your voice while being delightfully entertaining. Censored Gaming and LBRY are a match made in 1st Amendment heaven. + +Suppport Censored Gaming on Pateron right here: https://www.patreon.com/CensoredGaming + +**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Feeling censored and want to stretch your expression a bit more? Email reilly@lbry.io for a ride on the wild side of publishing. diff --git a/controller/Controller.class.php b/controller/Controller.class.php index 0604de27..98839688 100644 --- a/controller/Controller.class.php +++ b/controller/Controller.class.php @@ -99,6 +99,7 @@ class Controller $router->post('/log-upload', 'OpsActions::executeLogUpload'); $router->any('/list/subscribe', 'MailActions::executeSubscribe'); + $router->any('/list/subscribed', 'MailActions::executeSubscribed'); $router->get('/list/confirm/{hash}', 'MailActions::executeConfirm'); $router->any('/dmca', 'ReportActions::executeDmca'); diff --git a/controller/action/MailActions.class.php b/controller/action/MailActions.class.php index b8ac3b2c..4b2c541e 100644 --- a/controller/action/MailActions.class.php +++ b/controller/action/MailActions.class.php @@ -50,6 +50,11 @@ class MailActions extends Actions return ['mail/subscribe', ['confirmSuccess' => true, 'learnFooter' => true]]; } + public static function executeSubscribed() + { + return ['mail/subscribe', ['confirmSuccess' => true, 'learnFooter' => true]]; + } + public static function prepareSubscribeFormPartial(array $vars) diff --git a/lib/thirdparty/Mailgun.class.php b/lib/thirdparty/Mailgun.class.php index 9703c461..f56de5e5 100644 --- a/lib/thirdparty/Mailgun.class.php +++ b/lib/thirdparty/Mailgun.class.php @@ -94,11 +94,11 @@ class Mailgun return true; } - protected static function getConfirmHash($email, $timestamp = null, $nonce = null, $useOldSecret = false) + protected static function getConfirmHash($email, $timestamp = null, $nonce = null) { $timestamp = $timestamp !== null ? $timestamp : time(); $nonce = $nonce !== null ? $nonce : bin2hex(random_bytes(8)); - $secret = $useOldSecret ? 'testing' : Config::get('mailing_list_hmac_secret'); + $secret = Config::get('mailing_list_hmac_secret'); if (!$secret) { @@ -122,11 +122,7 @@ class Mailgun if (!hash_equals(static::getConfirmHash($email, $timestamp, $nonce), $hash)) { - // TODO: once old hashes expire, just return null here - if (date('Y-m-d') >= '2016-11-18' || !hash_equals(static::getConfirmHash($email, $timestamp, $nonce, true), $hash)) - { - return null; - } + return null; } if (!is_numeric($timestamp) || time() - $timestamp > 60 * 60 * 24 * 3) diff --git a/view/template/developer/_formCreditsPublish.php b/view/template/developer/_formCreditsPublish.php index 290ddd88..87d47874 100644 --- a/view/template/developer/_formCreditsPublish.php +++ b/view/template/developer/_formCreditsPublish.php @@ -8,7 +8,7 @@ lbry.quickstartForm('#form-new-publish-reward', "");
-
@@ -25,4 +25,4 @@ lbry.quickstartForm('#form-new-publish-reward', ""); - \ No newline at end of file + diff --git a/view/template/developer/_formNewDeveloperReward.php b/view/template/developer/_formNewDeveloperReward.php index 184e5a54..84d00c16 100644 --- a/view/template/developer/_formNewDeveloperReward.php +++ b/view/template/developer/_formNewDeveloperReward.php @@ -8,7 +8,7 @@
-
@@ -20,4 +20,4 @@
We require a GitHub account to prevent abuse. This will record your email (no spam) and mark you as interested in the lbry repo. No GitHub account? No problem! Join our Slack channel and post an introduction in #tech.
- \ No newline at end of file + diff --git a/view/template/developer/_quickstartApi.php b/view/template/developer/_quickstartApi.php index 2517aecb..99f459a6 100644 --- a/view/template/developer/_quickstartApi.php +++ b/view/template/developer/_quickstartApi.php @@ -11,23 +11,30 @@ $curl 'http://localhost:5279/lbryapi' --data '{"method":"resolve_name","params":{"name":"what"}}' [ { - "ver": "0.0.3", - "description": "What is LBRY? An introduction with Alex Tabarrok", - "license": "LBRY inc", - "title": "What is LBRY?", "author": "Samuel Bryan", + "content_type": "video/mp4", + "description": "What is LBRY? An introduction with Alex Tabarrok", "language": "en", + "license": "LBRY inc", + "nsfw": false, "sources": { "lbry_sd_hash": "d5169241150022f996fa7cd6a9a1c421937276a3275eb912790bd07ba7aec1fac5fd45431d226b8fb402691e79aeb24b" }, - "content_type": "video\/mp4", - "nsfw": false, - "thumbnail": "https:\/\/s3.amazonaws.com\/files.lbry.io\/logo.png" + "thumbnail": "https://s3.amazonaws.com/files.lbry.io/logo.png", + "title": "What is LBRY?", + "ver": "0.0.3" } ]

First Download

-

Above, we called the method resolve_name for the URL lbry://what. This returned the metadata associated with the URL.

-

Now let's download it. This time we're going to call the method get with the same parameters.

+

+ Above, we called the method + resolve_name + for the URL lbry://what. This returned the metadata associated with the URL. +

+ +

+ Now let's download it. This time we're going to call the method get with the same parameters. +

$curl 'http://localhost:5279/lbryapi' --data '{"method":"get","params":{"name":"what"} }' [ { diff --git a/view/template/developer/_quickstartInstall.php b/view/template/developer/_quickstartInstall.php index 45c023cf..48878f8f 100644 --- a/view/template/developer/_quickstartInstall.php +++ b/view/template/developer/_quickstartInstall.php @@ -21,7 +21,7 @@

Run

- Launch the deamon to run as a background process: + Unzip and launch the daemon:

$lbrynet-daemon diff --git a/web/img/blog-covers/censored-banner.png b/web/img/blog-covers/censored-banner.png new file mode 100644 index 00000000..59739685 Binary files /dev/null and b/web/img/blog-covers/censored-banner.png differ diff --git a/web/img/blog-covers/crypto-dereg.jpg b/web/img/blog-covers/crypto-dereg.jpg new file mode 100644 index 00000000..5396d349 Binary files /dev/null and b/web/img/blog-covers/crypto-dereg.jpg differ diff --git a/web/img/news/censored-inline2.jpg b/web/img/news/censored-inline2.jpg new file mode 100644 index 00000000..4cea9a01 Binary files /dev/null and b/web/img/news/censored-inline2.jpg differ