Maskbook icon indicating copy to clipboard operation
Maskbook copied to clipboard

[Bounty] Extend Image Encryption in Twitter

Open yisiliu opened this issue 3 years ago • 52 comments

Catalogue

  • Platform
    • [x] Gitcoin
    • [ ] Hackerlink
    • [ ] Mask
  • Experience
    • [ ] Beginner
    • [x] Intermediate
    • [ ] Advanced
  • Category
    • [x] Mask Core Feature
    • [ ] Mask Plugin
    • [ ] Security/Cryptography Feature
    • [ ] Documentation
    • [ ] Design
    • [ ] Other
      • [ ] /List it here/
  • Time Commitment
    • [x] 2 weeks
  • Bounty Size
    • [x] 500 DAI

Part 1: Problem Description

We would like to extend the image encryption functionality described in #1217 to Twitter so that users would also be able to tweet "encryption"(pixel-level shuffled) images. Some rebase job also needs to be done since our codebase has changed a lot since the previous bounty was finished in July.

Part 2: Resources

You can refer to #1338 and #1352 on the implementation. https://www.youtube.com/watch?v=JzvILdOPN3A would also be helpful since our great community developer @nazariyv filmed a great video on how it works.

Part 3: Contact and Support

@yisiliu for the mechanism @guanbinrui for the implementation

yisiliu avatar Nov 24 '20 00:11 yisiliu

@nazariyv are you interested in this?

yisiliu avatar Nov 24 '20 00:11 yisiliu

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 500.0 DAI (500.0 USD @ $1.0/DAI) attached to it as part of the DimensionDev fund.

gitcoinbot avatar Nov 24 '20 01:11 gitcoinbot

@yisiliu absolutely! :+1:

nazariyv avatar Nov 24 '20 09:11 nazariyv

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 265 years, 9 months from now. Please review their action plans below:

1) mccrearyd has been approved to start work.

  1. write an algorithm that takes in an image tensor of shape [H,W,3] and outputs a tensor of shape [H,W,3]. this algorithm should also have an AES (private/public) key input for signing/encrypting. It should also have an inverse that can reconstruct the original image given the corresponding private/public key.

  2. this can be done either on the backend using Maskbook generated AES keys, or can be done on the client side by hooking up with Metamask or something to encrypt the data.

Shouldn't be too hard.

Learn more on the Gitcoin Issue Details page.

gitcoinbot avatar Nov 24 '20 12:11 gitcoinbot

@nazariyv approved. Thanks for your contribution!

yisiliu avatar Nov 24 '20 12:11 yisiliu

@nazariyv Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

gitcoinbot avatar Nov 27 '20 17:11 gitcoinbot

I am still working on this

nazariyv avatar Nov 29 '20 12:11 nazariyv

@nazariyv How long do you think it'll take to finish the bounty? Just checking in

yisiliu avatar Nov 29 '20 12:11 yisiliu

@nazariyv Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

gitcoinbot avatar Dec 03 '20 17:12 gitcoinbot

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@nazariyv due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • [x] reminder (3 days)
  • [x] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

gitcoinbot avatar Dec 06 '20 17:12 gitcoinbot

@nazariyv hey how's going? Can you update us your progress please?

yisiliu avatar Dec 07 '20 02:12 yisiliu

hey, I will get a chance to get on this later this week / weekend. How urgent is this? @yisiliu

nazariyv avatar Dec 09 '20 21:12 nazariyv

np @nazariyv take your time!

yisiliu avatar Dec 10 '20 02:12 yisiliu

awesome, thank you! I remember about this :)

nazariyv avatar Dec 10 '20 10:12 nazariyv

@nazariyv Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

gitcoinbot avatar Dec 15 '20 17:12 gitcoinbot

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


@nazariyv due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!

  • [x] reminder (3 days)
  • [x] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

gitcoinbot avatar Dec 18 '20 17:12 gitcoinbot

hi @nazariyv happy holiday! just a friendly ping

Tedko avatar Dec 29 '20 04:12 Tedko

@nazariyv hey man any update?

yisiliu avatar Jan 13 '21 09:01 yisiliu

@yisiliu got swamped by a barrage of things guys. If you want to approve someone else for this, go ahead. Sorry about this.

nazariyv avatar Jan 21 '21 13:01 nazariyv

If you’re still available happy to let you finish this ;)

On Thu, Jan 21, 2021 at 21:48 Naz [email protected] wrote:

@yisiliu https://github.com/yisiliu got swamped by a barrage of things guys. If you want to approve someone else for this, go ahead. Sorry about this.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/DimensionDev/Maskbook/issues/1947#issuecomment-764654225, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTAVTIIOZKZUFH4AMBOJGTS3AWENANCNFSM4UAF5DCQ .

Tedko avatar Jan 21 '21 13:01 Tedko

I will do my best :) I am juggling finishing off reNFT mainnet launch + something else that I will reveal eventually :)

nazariyv avatar Jan 22 '21 00:01 nazariyv

so, #1338 implemented the image encryption algorithm already and it was applied in the context of facebook already, right?

as i understand it, my job is now to simply use the algorithms and apply it to twitter. right?

verbose-void avatar Feb 16 '21 10:02 verbose-void

so, #1338 implemented the image encryption algorithm already and it was applied in the context of facebook already, right?

as i understand it, my job is now to simply use the algorithms and apply it to twitter. right?

yes that's correct. glhf

yisiliu avatar Feb 16 '21 10:02 yisiliu

:-)

verbose-void avatar Feb 16 '21 10:02 verbose-void

@yisiliu do you have a contributions doc? or somewhere documenting how to get set up with your environment? I understand it's a chrome extension built with react + npm, so I'm assuming just:

npm i npm start -- build webpack then go to chrome/brave + point to dist?

verbose-void avatar Feb 16 '21 10:02 verbose-void

@yisiliu do you have a contributions doc? or somewhere documenting how to get set up with your environment? I understand it's a chrome extension built with react + npm, so I'm assuming just:

npm i npm start -- build webpack then go to chrome/brave + point to dist?

please refer to https://github.com/DimensionDev/Maskbook/blob/master/docs/caveats.md

yisiliu avatar Feb 16 '21 10:02 yisiliu

should I start from the master branch or should I start from the WIP #1352?

verbose-void avatar Feb 16 '21 10:02 verbose-void

That's actually a tradeoff but I guess starting from #1352 makes more sense. The problem is that you will need to rebase it to our latest master, which has changed a lot in the past few months. Your choice.

yisiliu avatar Feb 16 '21 10:02 yisiliu

when trying to set up my dev environment with hot reload, I'm having a lot of issues... i am running the required versions for pnpm & node, but I am getting this when I run pnpm start:

TypeError: Cannot read property 'toString' of undefined
    at /Users/dyllan/Code/Maskbook/node_modules/.pnpm/[email protected][email protected]/node_modules/webpack/lib/cache/PackFileCacheStrategy.js:929:53
    at async Promise.all (index 6)
npm ERR! code 1
npm ERR! path /Users/dyllan/Code/Maskbook/packages/maskbook
npm ERR! command failed
npm ERR! command sh -c webpack "serve" "--mode" "development"

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/dyllan/.npm/_logs/2021-02-16T18_59_18_341Z-debug.log

the only way I can update the extension is if I keep rebuilding it manually.

verbose-void avatar Feb 16 '21 19:02 verbose-void

@Jack-Works can you offer some help here?

yisiliu avatar Feb 16 '21 19:02 yisiliu