{"action":"created","issue":{"url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/1149","repository_url":"https://api.github.com/repos/Bitmessage/PyBitmessage","labels_url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/1149/labels{/name}","comments_url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/1149/comments","events_url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/1149/events","html_url":"https://github.com/Bitmessage/PyBitmessage/pull/1149","id":303863680,"number":1149,"title":"define and enable netcat operating mode","user":{"login":"f97ada87","id":32196103,"avatar_url":"https://avatars3.githubusercontent.com/u/32196103?v=4","gravatar_id":"","url":"https://api.github.com/users/f97ada87","html_url":"https://github.com/f97ada87","followers_url":"https://api.github.com/users/f97ada87/followers","following_url":"https://api.github.com/users/f97ada87/following{/other_user}","gists_url":"https://api.github.com/users/f97ada87/gists{/gist_id}","starred_url":"https://api.github.com/users/f97ada87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/f97ada87/subscriptions","organizations_url":"https://api.github.com/users/f97ada87/orgs","repos_url":"https://api.github.com/users/f97ada87/repos","events_url":"https://api.github.com/users/f97ada87/events{/privacy}","received_events_url":"https://api.github.com/users/f97ada87/received_events","type":"User","site_admin":false},"labels":[{"id":19038796,"url":"https://api.github.com/repos/Bitmessage/PyBitmessage/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"PeterSurda","id":3815204,"avatar_url":"https://avatars0.githubusercontent.com/u/3815204?v=4","gravatar_id":"","url":"https://api.github.com/users/PeterSurda","html_url":"https://github.com/PeterSurda","followers_url":"https://api.github.com/users/PeterSurda/followers","following_url":"https://api.github.com/users/PeterSurda/following{/other_user}","gists_url":"https://api.github.com/users/PeterSurda/gists{/gist_id}","starred_url":"https://api.github.com/users/PeterSurda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PeterSurda/subscriptions","organizations_url":"https://api.github.com/users/PeterSurda/orgs","repos_url":"https://api.github.com/users/PeterSurda/repos","events_url":"https://api.github.com/users/PeterSurda/events{/privacy}","received_events_url":"https://api.github.com/users/PeterSurda/received_events","type":"User","site_admin":false},"assignees":[{"login":"PeterSurda","id":3815204,"avatar_url":"https://avatars0.githubusercontent.com/u/3815204?v=4","gravatar_id":"","url":"https://api.github.com/users/PeterSurda","html_url":"https://github.com/PeterSurda","followers_url":"https://api.github.com/users/PeterSurda/followers","following_url":"https://api.github.com/users/PeterSurda/following{/other_user}","gists_url":"https://api.github.com/users/PeterSurda/gists{/gist_id}","starred_url":"https://api.github.com/users/PeterSurda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PeterSurda/subscriptions","organizations_url":"https://api.github.com/users/PeterSurda/orgs","repos_url":"https://api.github.com/users/PeterSurda/repos","events_url":"https://api.github.com/users/PeterSurda/events{/privacy}","received_events_url":"https://api.github.com/users/PeterSurda/received_events","type":"User","site_admin":false}],"milestone":null,"comments":21,"created_at":"2018-03-09T14:43:51Z","updated_at":"2018-04-06T17:00:48Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/Bitmessage/PyBitmessage/pulls/1149","html_url":"https://github.com/Bitmessage/PyBitmessage/pull/1149","diff_url":"https://github.com/Bitmessage/PyBitmessage/pull/1149.diff","patch_url":"https://github.com/Bitmessage/PyBitmessage/pull/1149.patch"},"body":"This PR enables a special headless operating mode (\"netcat\" mode) where all object processing is disabled. Instead, raw objects received from the network are output to STDOUT unprocessed, also, any valid raw objects received on STDIN are broadcast to the network.\r\n\r\nThe STDOUT format is one object per line, formatted as: \r\n- current timestamp as a zero-padded 16-digit hex number\r\n- a TAB character\r\n- the object in HEX encoding\r\n\r\nThe STDIN format is one object per line, which can be either a single HEX-encoded object or the format described for STDOUT above (in the latter case the timestamp will be ignored). \r\n\r\nExample:\r\n`000000005aa29ada\t00000000014f5b6a000000005aa7c646000000000401c5a40f3411817a9ba03df27d7839dd98b854d4fea089f6ffa9c251456e1f61e5`\r\n\r\nThis is part of a larger effort to compartmentalize the PyBitmessage operating layers in order to better contain network-borne attacks, and from this perspective it is an incomplete solution. \r\nHowever, it also provides some immediate benefits such as the ability to generate a timestamped full record of network traffic for later examination/replay, as well as enabling developers to broadcast protocol objects generated externally. \r\n\r\nAs usual, all comments and questions will be appreciated.\r\n"},"comment":{"url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/comments/379314529","html_url":"https://github.com/Bitmessage/PyBitmessage/pull/1149#issuecomment-379314529","issue_url":"https://api.github.com/repos/Bitmessage/PyBitmessage/issues/1149","id":379314529,"user":{"login":"PeterSurda","id":3815204,"avatar_url":"https://avatars0.githubusercontent.com/u/3815204?v=4","gravatar_id":"","url":"https://api.github.com/users/PeterSurda","html_url":"https://github.com/PeterSurda","followers_url":"https://api.github.com/users/PeterSurda/followers","following_url":"https://api.github.com/users/PeterSurda/following{/other_user}","gists_url":"https://api.github.com/users/PeterSurda/gists{/gist_id}","starred_url":"https://api.github.com/users/PeterSurda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PeterSurda/subscriptions","organizations_url":"https://api.github.com/users/PeterSurda/orgs","repos_url":"https://api.github.com/users/PeterSurda/repos","events_url":"https://api.github.com/users/PeterSurda/events{/privacy}","received_events_url":"https://api.github.com/users/PeterSurda/received_events","type":"User","site_admin":false},"created_at":"2018-04-06T17:00:48Z","updated_at":"2018-04-06T17:00:48Z","author_association":"MEMBER","body":"@f97ada87 I mean I prefer it split into separate PRs. In case I end up wanting changes, I can still merge a part of the PRs and make progress."}}
{"actor":{"display_login":"PeterSurda"}}