2020-04-18 21:31:40 +02:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2021-02-17 14:53:45 +01:00
< title > ALFIS</ title >
2020-04-18 21:31:40 +02:00
{styles}
< script defer src = "https://use.fontawesome.com/releases/v5.3.1/js/all.js" ></ script >
{scripts}
</ head >
2021-01-30 14:18:37 +01:00
< body onload = "onLoad();" >
< div id = "modal_dialog" class = "modal" >
< div class = "modal-background" ></ div >
< div class = "modal-content" >
< div class = "box" >
< p id = "modal_text" class = "is-centered" > Do you really want to cancel mining?</ p >
< br />
< div class = "buttons is-grouped is-centered" >
< button class = "button is-link" id = "modal_positive_button" onclick = "positiveButton();" > Ok</ button >
< button class = "button is-link is-light" id = "modal_negative_button" onclick = "cancelButton();" > Cancel</ button >
</ div >
</ div >
</ div >
</ div >
2021-02-19 16:41:43 +01:00
< div id = "new_record_dialog" class = "modal" >
< div class = "modal-background" ></ div >
< div class = "modal-content" >
< div class = "box" >
< div class = "columns" >
2021-02-21 21:08:20 +01:00
< div class = "column" >
2021-02-19 16:41:43 +01:00
< div class = "field" >
< label class = "label" > Name</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "www" id = "record_name" >
</ div >
</ div >
</ div >
2021-02-21 21:08:20 +01:00
< div class = "column is-narrow" >
2021-02-19 16:41:43 +01:00
< div class = "field" >
< label class = "label" > Type</ label >
< div class = "select" >
< select id = "record_type" >
< option > A</ option >
< option > AAAA</ option >
< option > CNAME</ option >
2021-02-21 21:08:20 +01:00
< option > NS</ option >
2021-02-19 16:41:43 +01:00
< option > MX</ option >
2021-02-21 21:08:20 +01:00
< option > SRV</ option >
2021-02-19 16:41:43 +01:00
< option > TXT</ option >
2021-02-21 21:08:20 +01:00
<!--<option>SOA</option>
<option>OPT</option>-->
2021-02-19 16:41:43 +01:00
</ select >
</ div >
</ div >
</ div >
2021-02-21 21:08:20 +01:00
</ div >
< div class = "columns" >
2021-02-19 16:41:43 +01:00
< div class = "column" >
< div class = "field" >
< label class = "label" > TTL</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "3600" id = "record_ttl" value = "3600" >
</ div >
</ div >
</ div >
2021-02-21 21:08:20 +01:00
< div class = "column" >
2021-02-19 16:41:43 +01:00
< div class = "field" >
2021-02-21 21:08:20 +01:00
< label class = "label" > Priority</ label >
2021-02-19 16:41:43 +01:00
< div class = "control" >
2021-02-21 21:08:20 +01:00
< input class = "input" type = "number" placeholder = "10" id = "record_priority" >
2021-02-19 16:41:43 +01:00
</ div >
</ div >
</ div >
2021-02-21 21:08:20 +01:00
< div class = "column" >
< div class = "field" >
< label class = "label" > Weight</ label >
< div class = "control" >
< input class = "input" type = "number" placeholder = "10" id = "record_weight" >
</ div >
</ div >
</ div >
< div class = "column" >
< div class = "field" >
< label class = "label" > Port</ label >
< div class = "control" >
< input class = "input" type = "number" placeholder = "5222" id = "record_port" >
</ div >
</ div >
</ div >
</ div >
< div class = "field" >
< label class = "label" > Data/host</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "1.2.3.4" id = "record_data" >
</ div >
2021-02-19 16:41:43 +01:00
</ div >
< br />
< div class = "buttons is-grouped is-centered" >
< button class = "button is-primary" id = "new_record_positive_button" > Ok</ button >
< button class = "button is-link is-light" id = "new_record_negative_button" > Cancel</ button >
</ div >
</ div >
</ div >
</ div >
< div class = "notification is-warning is-hidden" id = "notification_warning" >
< button class = "delete" id = "close" ></ button >
< p id = "warning_text" ></ p >
</ div >
2020-04-18 21:31:40 +02:00
< div class = "container" >
2021-02-19 16:41:43 +01:00
< div class = "columns is-mobile" >
2020-04-18 21:31:40 +02:00
< div class = "column is-one-fifth" >
< div class = "menu" >
< ul class = "menu-list" >
< li >< a class = "is-active" onclick = "openTab(this, 'main')" > Main</ a ></ li >
</ ul >
< p class = "menu-label" > Key management</ p >
< ul class = "menu-list" >
2021-02-15 23:09:30 +01:00
< li >< a onclick = "openTab(this, 'key_load')" > Manage keys</ a ></ li >
2020-04-18 21:31:40 +02:00
</ ul >
< p class = "menu-label" > Domain management</ p >
< ul class = "menu-list" >
2021-02-20 21:36:58 +01:00
< li >< a onclick = "openTab(this, 'dom_new')" > Mine domain</ a ></ li >
2021-02-22 21:45:32 +01:00
< li >< a onclick = "openTab(this, 'zone_new')" > Mine zone</ a ></ li >
2021-02-20 21:36:58 +01:00
<!--<li><a onclick="openTab(this, 'dom_edit')">Manage domain</a></li>
2020-04-18 21:31:40 +02:00
<li><a onclick="openTab(this, 'dom_renew')">Renew domain</a></li>
2021-02-20 21:36:58 +01:00
<li><a onclick="openTab(this, 'dom_transfer')">Transfer domain</a></li>-->
2020-04-18 21:31:40 +02:00
</ ul >
</ div >
</ div > <!--column-->
< div class = "column auto" >
2021-03-18 12:35:40 +01:00
< div class = "content center" id = "main" >
< h1 > Welcome to ALFIS!</ h1 >
2021-01-18 00:18:35 +01:00
< p > ALFIS stands for Alternative Free Identity System.</ p >
< p > It gives you an opportunity to create your own domains and use them in decentralized networks, store security certificates for browsers to trust without any centralized CA.</ p >
2021-03-18 12:35:40 +01:00
< h2 > How this system works?</ h2 >
< h3 > If you just want to be able to resolve our domains</ h3 >
< p > Carefully configure DNS section in < strong > alfis.toml</ strong > and start ALFIS with < code > -n</ code > command line switch.
It will start without GUI, but will work as local DNS-resolver.</ p >
< h3 > If you want to get your own domain</ h3 >
< ul >
< li > Generate a keypair in "Manage keys" part (you need just one for any number of domains)</ li >
< li > Check available zones (for now we have a test zone < code > .yy</ code > ). In future version a list of available zones will be somewhere here</ li >
< li > Go to "Mine domain" part and enter desired domain in first field, if it is not red - you can create it</ li >
< li > Carefully add needed DNS-records (you can add them later, but you will need to mine it again)</ li >
< li > Just click on "Mine domain" and wait for it, your domain (when properly cooked) will propagate to all blockchain nodes automatically</ li >
</ ul >
2021-01-18 00:18:35 +01:00
</ div >
2020-04-18 21:31:40 +02:00
< div class = "content is-hidden" id = "key_load" >
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Key path</ label >
2021-03-23 18:55:11 +01:00
< p id = "key_file_name" > Not loaded</ p >
2021-03-18 15:09:26 +01:00
</ div >
< div class = "field" >
< label class = "label" > Public key</ label >
< p id = "key_public_key" > Not loaded</ p >
</ div >
< div class = "field" >
< label class = "label" > Public key hash</ label >
< p id = "key_public_hash" > Not loaded</ p >
</ div >
< br >
< div class = "field is-grouped" >
< div class = "control" >
< button class = "button is-warning" onclick = "createKey();" > Mine new key</ button >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
< div class = "control" >
2021-03-23 18:55:11 +01:00
< button class = "button is-light" onclick = "loadKey();" > Load key</ button >
</ div >
< div class = "control" >
< button id = "save_key" class = "button is-light" onclick = "saveKey();" disabled > Save key</ button >
2021-03-10 22:21:50 +01:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
< div class = "content is-hidden" id = "dom_new" >
2021-03-18 15:09:26 +01:00
< div class = "columns" >
< div class = "column" >
< div class = "field" >
< label class = "label" > Domain name</ label >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< input class = "input" type = "text" placeholder = "example.ygg" id = "new_domain" oninput = "onDomainChange(this)" disabled >
2021-02-20 21:36:58 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
</ div >
2021-03-18 15:09:26 +01:00
< div class = "column" >
< div class = "field" >
< label class = "label" > Domain tags (will be used for search)</ label >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< input class = "input" type = "text" placeholder = "blog, community, friendship" id = "new_domain_tags" disabled >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
</ div >
2021-03-18 15:09:26 +01:00
</ div >
< div class = "block" id = "domain_records" >
<!-- Here will be our domain records, added by dialog -->
</ div >
< div class = "field is-grouped" >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< button id = "new_domain_button" class = "button is-warning" onclick = "createDomain();" disabled > Mine domain</ button >
2021-03-18 15:09:26 +01:00
</ div >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< button id = "add_record_button" class = "button is-light" onclick = "showNewRecordDialog();" disabled > Add record</ button >
2021-03-18 15:09:26 +01:00
</ div >
</ div >
2020-04-18 21:31:40 +02:00
</ div >
2021-02-22 21:45:32 +01:00
< div class = "content is-hidden" id = "zone_new" >
2021-03-18 15:09:26 +01:00
< div class = "columns" >
< div class = "column" >
< div class = "field" >
< label class = "label" > Zone name</ label >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< input class = "input" type = "text" placeholder = "ygg" id = "new_zone" oninput = "onZoneChange()" disabled >
2021-02-22 21:45:32 +01:00
</ div >
</ div >
</ div >
2021-03-18 15:09:26 +01:00
< div class = "column" >
< div class = "field" >
< label class = "label" > Difficulty (for all domains in zone)</ label >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< input class = "input" type = "number" placeholder = "20" id = "new_zone_difficulty" oninput = "onZoneChange()" disabled >
2021-03-18 15:09:26 +01:00
</ div >
2021-02-22 21:45:32 +01:00
</ div >
</ div >
2021-03-18 15:09:26 +01:00
</ div >
< div class = "field is-grouped" >
< div class = "control" >
2021-03-23 18:55:11 +01:00
< button class = "button is-warning" id = "new_zone_button" onclick = "createZone();" disabled > Mine zone</ button >
2021-03-18 15:09:26 +01:00
</ div >
</ div >
2021-02-22 21:45:32 +01:00
</ div >
2020-04-18 21:31:40 +02:00
< div class = "content is-hidden" id = "dom_edit" >
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Your existing domain name</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "example.ygg" id = "change_domain" >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > All new domain records</ label >
< div class = "control" >
< textarea class = "textarea" placeholder = "@ IN AAAA 200:1111:2222:3333:4444:5555:6666:7777" id = "change_domain_records" ></ textarea >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Domain tags (will be used for search)</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "blog, community, friendship" id = "change_domain_tags" >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field is-grouped" >
< div class = "control" >
< button class = "button is-link" onclick = "changeDomain();" > Replace records</ button >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
< div class = "content is-hidden" id = "dom_renew" >
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Your existing domain name</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "example.ygg" id = "renew_domain" >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Days to add</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "365" value = "365" id = "renew_domain_extend_days" disabled >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field is-grouped" >
< div class = "control" >
< button class = "button is-link" onclick = "renewDomain();" > Renew domain</ button >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
< div class = "content is-hidden" id = "dom_transfer" >
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Your existing domain name</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "example.ygg" id = "transfer_domain" >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field" >
< label class = "label" > Public key of new owner</ label >
< div class = "control" >
< input class = "input" type = "text" placeholder = "3764ef954577a1815db3cc65aa3e2b18a52f12a3f6fcbd6a10d9ce8d06741ddd" id = "transfer_domain_transfer_owner" >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
2021-03-18 15:09:26 +01:00
< div class = "field is-grouped" >
< div class = "control" >
< button class = "button is-link" onclick = "transferDomain();" > Transfer domain</ button >
2020-04-18 21:31:40 +02:00
</ div >
2021-03-18 15:09:26 +01:00
</ div >
2020-04-18 21:31:40 +02:00
</ div >
</ div >
</ div > <!-- columns -->
</ div >
2021-02-27 18:57:15 +01:00
< div class = "footer is-family-code" >
< div class = "level" >
< div class = "level-left" >
< div class = "level-item" id = "indicator_parent" >
< div class = "busy_indicator busy_blue" id = "busy_indicator" onclick = "miningIndicatorClick(this)" >
< span ></ span >
< span ></ span >
</ div >
</ div >
< div class = "level-item" >
2021-03-21 00:19:09 +01:00
< div id = "status_bar_left" > Connecting...</ div >
2021-02-27 18:57:15 +01:00
</ div >
</ div >
< div class = "level-right" >
< div class = "level-item" id = "status_bar_right" > No data</ div >
</ div >
</ div >
</ div >
2020-04-18 21:31:40 +02:00
</ body >
</ html >