dansup / hub Goto Github PK
View Code? Open in Web Editor NEWAn open graph inspired API and website for Hyperboria.
License: MIT License
An open graph inspired API and website for Hyperboria.
License: MIT License
I noticed that some webservers remove padding on ipv6, which causes issues as the model primary key is the fully padded ipv6 (39 chars).
As a result I created a custom Req(uest) class in \App\Hub that extends the Illuminate Request Facade so we can pad ipv6 at the source.
Most controllers are using the new Req, however the maps still need to be fixed.
Artisan Console Scheduling is an essential component of Hub that allows periodic collection of hyperboria network data using the cjdns admin api.
There are two primary jobs:
Question: What do you think would be the optimal frequency of running the task ? (ex: Every 10 Minutes, once daily, ect)
Create an installer for new installations.
Line ~1039 of core.inc.php, you can see there is a missing bracket after the else clause.. correct me if i am wrong but if there are no brackets, the immediate next line of code should be executed and the logic ends. The subsequent code below should be executed regardless of result from the conditional.
if(strlen(htmlentities($messageArray['subject'])) > 60)
{
$subject_shortened = substr(htmlentities($messageArray['subject']), 0,38);
$this->subject_short = $subject_shortened;
}
else
$this->subject_short = htmlentities($messageArray['subject']);
$this->body = htmlentities($messageArray['body']);
$this->sender_ip = uid2Addr($messageArray['sender']);
$this->sender_name = uid2Username($messageArray['sender']);
$msg_sender = unserialize($messageArray['sender']);
$this->sender_ip = $msg_sender['ip'];
$this->sender_name = uid2Username($msg_sender['uid']);
return $messageArray;
Currently it seems appends a dynamic timestamp: GET http://hub.hyperboria.net/assets/prod/app.css?v=1425004391
A lot of required_once files are hardcoded, need to remove any hardcoded references
We need to pick a suitable licence for Hub, I'm leaning towards GPL or MIT, though I have to discuss this with my partner in crime, @wfleurant.
Hub previously used the cjdns ipv6 as the primary identifier (urls, routes) and the table primary key. While this worked, in theory it is possible for two unique public keys to produce the same ipv6 (very unlikely odds), I decided to address this issue now rather than it arise in the future as a bug.
A small change is the upcoming release affects the node migration, model and controller.
Use Node::whereAddr($ip)->firstOrFail() or get() instead of Node::findOrFail($ip).
Hub auth/sessions are a bit diferent than typical implementations.
First off, their are two authentication sources Nodes and Users. Node auth only has one state, logged in. If you are browsing hub, your nodes session is determined by your ipv6 address (unless active user session). A node cannot logout, change its primarykey or delete itself, just associated info.
That leaves the User auth, which is an optional feature for people with more than one node to associate multiple nodes, and use a specific node identity from any node.
I am almost done implementing User auth.
3: include_once(__DIR__.'/../app/config/app.php');
.gitignore also has /app/config/app.php
Hub needs to store the cjdns admin api data. Using an event model, specific api calls can be emitted and processed (api call + store and optional callback). This issue will track this fundamental feature.
Create comment model for nodes and services to allow people to comment using their cjdns ipv6 as authentication.
Currently the map loads Edges using a simple 'LIMIT 1000', which is inefficent and can load duplicate edges w/ different timestamps and some nodes edges arent even loaded.
Solution: lazy load chunked results from api
Short term: use DISTINCT on the peer_key and origin_ip column
Long term: use distinct w/ time ranges (that match node time range) for map timeslider feature
Finish the README.md
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.