{"action":"created","comment":{"url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/comments/201511291","pull_request_review_id":136028952,"id":201511291,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTUxMTI5MQ==","diff_hunk":"@@ -0,0 +1,112 @@\n+#!/bin/bash\n+\n+HLS_TIME=15\n+M3U8_SIZE=10\n+IPFS_GATEWAY=\"https://ipfs.io\"\n+\n+# Load settings\n+\n+# Prepare Pi Camera\n+sudo modprobe bcm2835-v4l2\n+sudo v4l2-ctl --set-ctrl video_bitrate=100000\n+\n+function startFFmpeg() {\n+  while true; do\n+    mv ~/ffmpeg.log ~/ffmpeg.1\n+    echo 1 > ~/stream-reset\n+    ffmpeg -f video4linux2 -input_format h264 -video_size 1280x720 -framerate 30 -i /dev/video0 -vcodec copy -hls_time ${HLS_TIME}  ${what}.m3u8   > ~/ffmpeg 2>&1\n+    sleep 0.5\n+  done\n+}\n+\n+# Create directory for HLS content\n+\n+currentpath=\"$HOME/live\"\n+sudo umount $currentpath\n+rm -rf $currentpath\n+mkdir $currentpath\n+sudo mount -t tmpfs tmpfs $currentpath\n+cd $currentpath\n+\n+what=\"$(date +%Y%m%d%H%M)-LIVE\"\n+\n+# Start ffmpeg in background\n+startFFmpeg &\n+\n+while true; do\n+  nextfile=$(ls -tr ${what}*.ts 2>/dev/null | tail -n 1)\n+\n+  if ! [ -z \"${nextfile}\" ]; then\n+    # Check if the next file on the list is still being written to by ffmpeg\n+    if ! [ -z \"$(lsof ${nextfile} | grep ffmpeg)\" ]; then\n+      # Wait for file to finish writing\n+      # If not finished in 45 seconds something is wrong, timeout\n+      inotifywait -e close_write $nextfile -t 45\n+    fi\n+\n+    # Grab the timecode from the m3u8 file so we can add it to the log\n+    timecode=`grep -B1 ${nextfile} ${what}.m3u8 | head -n1 | awk -F : '{print $2}' | tr -d ,`\n+    attempts=5\n+    until [[ \"${timecode}\" || ${attempts} -eq 0 ]]; do\n+      # Wait and retry\n+      sleep 0.5\n+      timecode=`grep -B1 ${nextfile} ${what}.m3u8 | head -n1 | awk -F : '{print $2}' | tr -d ,`\n+      attempts=$((attempts-1))\n+    done\n+\n+    if ! [[ \"${timecode}\" ]]; then\n+      # Set approximate timecode\n+      timecode=\"${HLS_TIME}.000000\"\n+    fi\n+    \n+    reset_stream=\"$(cat ~/stream-reset)\"\n+    reset_stream_marker=''\n+    if [[ \"${reset_stream}\" -eq '1' ]]; then\n+      reset_stream_marker=\" #EXT-X-DISCONTINUITY\"\n+    fi\n+    \n+    echo 0 > ~/stream-reset\n+    # Current UTC date for the log\n+    time=`date \"+%F-%H-%M-%S\"`\n+\n+    # Add ts file to IPFS\n+    ret=`ipfs add ${nextfile} 2>/dev/null > ~/tmp.txt; echo $?`\n+    attempts=5\n+    until [[ ${ret} -eq 0 || ${attempts} -eq 0 ]]; do\n+      # Wait and retry\n+      sleep 1\n+      ret=`ipfs add ${nextfile} 2>/dev/null > ~/tmp.txt; echo $?`\n+      attempts=$((attempts-1))\n+    done\n+    if [[ ${ret} -eq 0 ]]; then\n+      # Update the log with the future name (hash already there)\n+      echo $(cat ~/tmp.txt) ${time}.ts ${timecode}${reset_stream_marker} >> ~/process-stream.log\n+\n+      # Remove nextfile and tmp.txt\n+      rm -f ${nextfile} ~/tmp.txt\n+\n+      # Write the m3u8 file with the new IPFS hashes from the log\n+      totalLines=\"$(wc -l ~/process-stream.log | awk '{print $1}')\"\n+      \n+      sequence=0\n+      if (( \"${totalLines}\" > ${M3U8_SIZE} )); then\n+          sequence=`expr ${totalLines} - ${M3U8_SIZE}`\n+      fi\n+      echo \"#EXTM3U\" > current.m3u8\n+      echo \"#EXT-X-VERSION:3\" >> current.m3u8\n+      echo \"#EXT-X-TARGETDURATION:${HLS_TIME}\" >> current.m3u8\n+      echo \"#EXT-X-MEDIA-SEQUENCE:${sequence}\" >> current.m3u8\n+      tail -n ${M3U8_SIZE} ~/process-stream.log | awk '{print $6\"#EXTINF:\"$5\",\\n'${IPFS_GATEWAY}'/ipfs/\"$2}' | sed 's/#EXT-X-DISCONTINUITY#/#EXT-X-DISCONTINUITY\\n#/g' >> current.m3u8\n+\n+      # Add m3u8 file to IPFS and IPNS publish\n+      m3u8hash=$(ipfs add current.m3u8 | awk '{print $2}')","path":"scripts/ipfs-pi-stream/process-stream.sh","position":102,"original_position":102,"commit_id":"6493358c6febe95192b8b086fe870ebe9dc7e3ef","original_commit_id":"516bbb775713d12c4913d0d1316f0dcbf3d14b6e","user":{"login":"darkdrgn2k","id":29005789,"node_id":"MDQ6VXNlcjI5MDA1Nzg5","avatar_url":"https://avatars0.githubusercontent.com/u/29005789?v=4","gravatar_id":"","url":"https://api.github.com/users/darkdrgn2k","html_url":"https://github.com/darkdrgn2k","followers_url":"https://api.github.com/users/darkdrgn2k/followers","following_url":"https://api.github.com/users/darkdrgn2k/following{/other_user}","gists_url":"https://api.github.com/users/darkdrgn2k/gists{/gist_id}","starred_url":"https://api.github.com/users/darkdrgn2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkdrgn2k/subscriptions","organizations_url":"https://api.github.com/users/darkdrgn2k/orgs","repos_url":"https://api.github.com/users/darkdrgn2k/repos","events_url":"https://api.github.com/users/darkdrgn2k/events{/privacy}","received_events_url":"https://api.github.com/users/darkdrgn2k/received_events","type":"User","site_admin":false},"body":"That would be a pretty long log as every chunkn would have an ipns publis with it.","created_at":"2018-07-10T22:08:40Z","updated_at":"2018-07-10T22:08:40Z","html_url":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158#discussion_r201511291","pull_request_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/comments/201511291"},"html":{"href":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158#discussion_r201511291"},"pull_request":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158"}},"in_reply_to_id":201156377},"pull_request":{"url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158","id":199904265,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5OTA0MjY1","html_url":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158","diff_url":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158.diff","patch_url":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158.patch","issue_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/158","number":158,"state":"open","locked":false,"title":"Raspberry ipfs pi stream","user":{"login":"darkdrgn2k","id":29005789,"node_id":"MDQ6VXNlcjI5MDA1Nzg5","avatar_url":"https://avatars0.githubusercontent.com/u/29005789?v=4","gravatar_id":"","url":"https://api.github.com/users/darkdrgn2k","html_url":"https://github.com/darkdrgn2k","followers_url":"https://api.github.com/users/darkdrgn2k/followers","following_url":"https://api.github.com/users/darkdrgn2k/following{/other_user}","gists_url":"https://api.github.com/users/darkdrgn2k/gists{/gist_id}","starred_url":"https://api.github.com/users/darkdrgn2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkdrgn2k/subscriptions","organizations_url":"https://api.github.com/users/darkdrgn2k/orgs","repos_url":"https://api.github.com/users/darkdrgn2k/repos","events_url":"https://api.github.com/users/darkdrgn2k/events{/privacy}","received_events_url":"https://api.github.com/users/darkdrgn2k/received_events","type":"User","site_admin":false},"body":"Stream a raspberry pi camera over IPFS","created_at":"2018-07-07T16:37:46Z","updated_at":"2018-07-10T22:08:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3fce0456af896dd1cbf91d498c2ff52394012936","assignee":null,"assignees":[],"requested_reviewers":[{"login":"benhylau","id":2261308,"node_id":"MDQ6VXNlcjIyNjEzMDg=","avatar_url":"https://avatars3.githubusercontent.com/u/2261308?v=4","gravatar_id":"","url":"https://api.github.com/users/benhylau","html_url":"https://github.com/benhylau","followers_url":"https://api.github.com/users/benhylau/followers","following_url":"https://api.github.com/users/benhylau/following{/other_user}","gists_url":"https://api.github.com/users/benhylau/gists{/gist_id}","starred_url":"https://api.github.com/users/benhylau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benhylau/subscriptions","organizations_url":"https://api.github.com/users/benhylau/orgs","repos_url":"https://api.github.com/users/benhylau/repos","events_url":"https://api.github.com/users/benhylau/events{/privacy}","received_events_url":"https://api.github.com/users/benhylau/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158/commits","review_comments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158/comments","review_comment_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/158/comments","statuses_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/statuses/6493358c6febe95192b8b086fe870ebe9dc7e3ef","head":{"label":"tomeshnet:develop-ipfs-pi-stream","ref":"develop-ipfs-pi-stream","sha":"6493358c6febe95192b8b086fe870ebe9dc7e3ef","user":{"login":"tomeshnet","id":17489997,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDg5OTk3","avatar_url":"https://avatars2.githubusercontent.com/u/17489997?v=4","gravatar_id":"","url":"https://api.github.com/users/tomeshnet","html_url":"https://github.com/tomeshnet","followers_url":"https://api.github.com/users/tomeshnet/followers","following_url":"https://api.github.com/users/tomeshnet/following{/other_user}","gists_url":"https://api.github.com/users/tomeshnet/gists{/gist_id}","starred_url":"https://api.github.com/users/tomeshnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomeshnet/subscriptions","organizations_url":"https://api.github.com/users/tomeshnet/orgs","repos_url":"https://api.github.com/users/tomeshnet/repos","events_url":"https://api.github.com/users/tomeshnet/events{/privacy}","received_events_url":"https://api.github.com/users/tomeshnet/received_events","type":"Organization","site_admin":false},"repo":{"id":52584457,"node_id":"MDEwOlJlcG9zaXRvcnk1MjU4NDQ1Nw==","name":"prototype-cjdns-pi","full_name":"tomeshnet/prototype-cjdns-pi","owner":{"login":"tomeshnet","id":17489997,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDg5OTk3","avatar_url":"https://avatars2.githubusercontent.com/u/17489997?v=4","gravatar_id":"","url":"https://api.github.com/users/tomeshnet","html_url":"https://github.com/tomeshnet","followers_url":"https://api.github.com/users/tomeshnet/followers","following_url":"https://api.github.com/users/tomeshnet/following{/other_user}","gists_url":"https://api.github.com/users/tomeshnet/gists{/gist_id}","starred_url":"https://api.github.com/users/tomeshnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomeshnet/subscriptions","organizations_url":"https://api.github.com/users/tomeshnet/orgs","repos_url":"https://api.github.com/users/tomeshnet/repos","events_url":"https://api.github.com/users/tomeshnet/events{/privacy}","received_events_url":"https://api.github.com/users/tomeshnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tomeshnet/prototype-cjdns-pi","description":"Prototype for cjdns on Raspberry Pi forming a mesh network","fork":false,"url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi","forks_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/forks","keys_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/teams","hooks_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/hooks","issue_events_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/events{/number}","events_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/events","assignees_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/assignees{/user}","branches_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/branches{/branch}","tags_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/tags","blobs_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/refs{/sha}","trees_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/statuses/{sha}","languages_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/languages","stargazers_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/stargazers","contributors_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/contributors","subscribers_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/subscribers","subscription_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/subscription","commits_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/commits{/sha}","git_commits_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/commits{/sha}","comments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/comments{/number}","issue_comment_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/comments{/number}","contents_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/contents/{+path}","compare_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/merges","archive_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/downloads","issues_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues{/number}","pulls_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls{/number}","milestones_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/milestones{/number}","notifications_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/labels{/name}","releases_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/releases{/id}","deployments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/deployments","created_at":"2016-02-26T06:44:50Z","updated_at":"2018-07-08T16:14:40Z","pushed_at":"2018-07-09T02:45:13Z","git_url":"git://github.com/tomeshnet/prototype-cjdns-pi.git","ssh_url":"git@github.com:tomeshnet/prototype-cjdns-pi.git","clone_url":"https://github.com/tomeshnet/prototype-cjdns-pi.git","svn_url":"https://github.com/tomeshnet/prototype-cjdns-pi","homepage":"https://chat.tomesh.net/#/room/#software:tomesh.net","size":487,"stargazers_count":90,"watchers_count":90,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":22,"open_issues":14,"watchers":90,"default_branch":"master"}},"base":{"label":"tomeshnet:develop","ref":"develop","sha":"b41ce5d92d1fa121eaf1dad128d4dbedc47796a5","user":{"login":"tomeshnet","id":17489997,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDg5OTk3","avatar_url":"https://avatars2.githubusercontent.com/u/17489997?v=4","gravatar_id":"","url":"https://api.github.com/users/tomeshnet","html_url":"https://github.com/tomeshnet","followers_url":"https://api.github.com/users/tomeshnet/followers","following_url":"https://api.github.com/users/tomeshnet/following{/other_user}","gists_url":"https://api.github.com/users/tomeshnet/gists{/gist_id}","starred_url":"https://api.github.com/users/tomeshnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomeshnet/subscriptions","organizations_url":"https://api.github.com/users/tomeshnet/orgs","repos_url":"https://api.github.com/users/tomeshnet/repos","events_url":"https://api.github.com/users/tomeshnet/events{/privacy}","received_events_url":"https://api.github.com/users/tomeshnet/received_events","type":"Organization","site_admin":false},"repo":{"id":52584457,"node_id":"MDEwOlJlcG9zaXRvcnk1MjU4NDQ1Nw==","name":"prototype-cjdns-pi","full_name":"tomeshnet/prototype-cjdns-pi","owner":{"login":"tomeshnet","id":17489997,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3NDg5OTk3","avatar_url":"https://avatars2.githubusercontent.com/u/17489997?v=4","gravatar_id":"","url":"https://api.github.com/users/tomeshnet","html_url":"https://github.com/tomeshnet","followers_url":"https://api.github.com/users/tomeshnet/followers","following_url":"https://api.github.com/users/tomeshnet/following{/other_user}","gists_url":"https://api.github.com/users/tomeshnet/gists{/gist_id}","starred_url":"https://api.github.com/users/tomeshnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomeshnet/subscriptions","organizations_url":"https://api.github.com/users/tomeshnet/orgs","repos_url":"https://api.github.com/users/tomeshnet/repos","events_url":"https://api.github.com/users/tomeshnet/events{/privacy}","received_events_url":"https://api.github.com/users/tomeshnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tomeshnet/prototype-cjdns-pi","description":"Prototype for cjdns on Raspberry Pi forming a mesh network","fork":false,"url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi","forks_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/forks","keys_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/teams","hooks_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/hooks","issue_events_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/events{/number}","events_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/events","assignees_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/assignees{/user}","branches_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/branches{/branch}","tags_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/tags","blobs_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/refs{/sha}","trees_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/statuses/{sha}","languages_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/languages","stargazers_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/stargazers","contributors_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/contributors","subscribers_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/subscribers","subscription_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/subscription","commits_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/commits{/sha}","git_commits_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/git/commits{/sha}","comments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/comments{/number}","issue_comment_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/comments{/number}","contents_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/contents/{+path}","compare_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/merges","archive_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/downloads","issues_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues{/number}","pulls_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls{/number}","milestones_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/milestones{/number}","notifications_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/labels{/name}","releases_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/releases{/id}","deployments_url":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/deployments","created_at":"2016-02-26T06:44:50Z","updated_at":"2018-07-08T16:14:40Z","pushed_at":"2018-07-09T02:45:13Z","git_url":"git://github.com/tomeshnet/prototype-cjdns-pi.git","ssh_url":"git@github.com:tomeshnet/prototype-cjdns-pi.git","clone_url":"https://github.com/tomeshnet/prototype-cjdns-pi.git","svn_url":"https://github.com/tomeshnet/prototype-cjdns-pi","homepage":"https://chat.tomesh.net/#/room/#software:tomesh.net","size":487,"stargazers_count":90,"watchers_count":90,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":22,"open_issues":14,"watchers":90,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158"},"html":{"href":"https://github.com/tomeshnet/prototype-cjdns-pi/pull/158"},"issue":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/158"},"comments":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/issues/158/comments"},"review_comments":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158/comments"},"review_comment":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/pulls/158/commits"},"statuses":{"href":"https://api.github.com/repos/tomeshnet/prototype-cjdns-pi/statuses/6493358c6febe95192b8b086fe870ebe9dc7e3ef"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"darkdrgn2k"}}