Difference between revisions of "Bitcoin-js-remote"

From Bitcoin Wiki
Jump to: navigation, search
Line 9: Line 9:
 
* [http://tcatm.github.com/bitcoin-js-remote Bitcoin-js-remote] website
 
* [http://tcatm.github.com/bitcoin-js-remote Bitcoin-js-remote] website
 
* [http://github.com/tcatm/bitcoin-js-remote Bitcoin-js-remote] project page
 
* [http://github.com/tcatm/bitcoin-js-remote Bitcoin-js-remote] project page
 +
 +
==Apache HTTPD Configuration for Bitcoin JS Remote==
 +
[I am assuming a little knowledge about Apache httpd. You had better read on Apache httpd directives: http://httpd.apache.org/docs/2.2/mod/directives.html]
 +
 +
Assuming your bitcoin.conf file includes:
 +
  rpcuser=myuser
 +
 +
  rpcpassword=mypass
 +
 +
First, generate a suitable file for Basic Authentification. See man htpasswd or execute
 +
  htpasswd -b -c my_prefer_filename myuser mypass
 +
 +
Set following Apache directives in the proper context, i.e. server or virtual host configuration:
 +
<Proxy http://127.0.0.1:8332>
 +
  AuthType Basic
 +
  AuthName "Bitcoin Access"
 +
  AuthUserFile my_prefer_filename
 +
  Require user myuser
 +
  Order deny,allow
 +
  Allow from all
 +
</Proxy>
 +
 +
# Assuming you want to access Bitcoin JS Remote with http://mydomain/jbc
 +
  Alias /jbc pathabs_to_bitcoin-js-remote
 +
  ProxyPass /lbc/ http://127.0.0.1:8332/
 +
  ProxyPassReverse /lbc/ http://127.0.0.1:8332/
 +
 +
User and Password will be required when accessing with http://mydomain/jbc. Then, set Bitcoind's URL to the desired path: in the above example will be “/lbc/” or by default will be “/”.
 +
 +
Alternatively, create a “settings.json” file in the bitcoin-js-remote directory: (see proper syntax in the settings.json_sample):
 +
  RPC.url : /lbc/
 +
  RPC.user : myuser
 +
  RPC.password : mypass
 +
 +
That's all. Restart your Apache web server.
 +
 +
Other interesting Apache directives:
 +
# To redirect all HTTP to HTTPS (of course, you need a well-configured ssl site).
 +
# !!! SSL access is extremely recommended to protect your Bitcoin data.
 +
  RewriteCond %{HTTPS} off
 +
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 +
#
 +
# To avoid your log file from flooding
 +
  SetEnvIf Request_URI "^/jbc/" dontlog
 +
  SetEnvIf Request_URI "^/lbc/" dontlog
 +
  CustomLog myfile.log combined env=!dontlog
 +
 +
Finally, if you go in trouble, check proper access to bitcoin daemon with curl:
 +
curl \
 +
 +
--trace-time \
 +
 +
--trace-ascii - \
 +
 +
--data-binary \
 +
 +
  '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }' \
 +
 +
--header 'content-type: text/plain;' \
 +
 +
  http://myuser:mypass@127.0.0.1:8332/
  
 
[[Category:Clients]]
 
[[Category:Clients]]

Revision as of 20:40, 27 March 2011

A user interface for Bitcoin written in JavaScript.

For SSL support a small server side script is included.

This software is released under the MIT/X11 License.

External Links

Apache HTTPD Configuration for Bitcoin JS Remote

[I am assuming a little knowledge about Apache httpd. You had better read on Apache httpd directives: http://httpd.apache.org/docs/2.2/mod/directives.html]

Assuming your bitcoin.conf file includes:

 rpcuser=myuser
 rpcpassword=mypass

First, generate a suitable file for Basic Authentification. See man htpasswd or execute

 htpasswd -b -c my_prefer_filename myuser mypass

Set following Apache directives in the proper context, i.e. server or virtual host configuration: <Proxy http://127.0.0.1:8332>

 AuthType Basic
 AuthName "Bitcoin Access"
 AuthUserFile my_prefer_filename
 Require user myuser
 Order deny,allow
 Allow from all

</Proxy>

  1. Assuming you want to access Bitcoin JS Remote with http://mydomain/jbc
 Alias /jbc pathabs_to_bitcoin-js-remote
 ProxyPass /lbc/ http://127.0.0.1:8332/
 ProxyPassReverse /lbc/ http://127.0.0.1:8332/

User and Password will be required when accessing with http://mydomain/jbc. Then, set Bitcoind's URL to the desired path: in the above example will be “/lbc/” or by default will be “/”.

Alternatively, create a “settings.json” file in the bitcoin-js-remote directory: (see proper syntax in the settings.json_sample):

 RPC.url : /lbc/
 RPC.user : myuser
 RPC.password : mypass

That's all. Restart your Apache web server.

Other interesting Apache directives:

  1. To redirect all HTTP to HTTPS (of course, you need a well-configured ssl site).
  2.  !!! SSL access is extremely recommended to protect your Bitcoin data.
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  1. To avoid your log file from flooding
 SetEnvIf Request_URI "^/jbc/" dontlog
 SetEnvIf Request_URI "^/lbc/" dontlog
 CustomLog myfile.log combined env=!dontlog

Finally, if you go in trouble, check proper access to bitcoin daemon with curl: curl \

--trace-time \
--trace-ascii - \
--data-binary \
 '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }' \
--header 'content-type: text/plain;' \
 http://myuser:mypass@127.0.0.1:8332/