o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18703
|
|
August 29, 2022, 02:26:52 PM |
|
For Firefox or Tor, just enter about:support in your URL bar in your browser.
Scroll down to the section titled "Add-ons", and grab the ID for BPIP.
Then scroll back to the top section titled "Application Basics" and click the "Open Folder" button beside where it says "Profile Folder". The extensions folder is in there. The BPIP XPI file will have the same name as the ID from the previous step.
|
|
|
|
dkbit98
Legendary
Offline
Activity: 2352
Merit: 7435
|
|
August 29, 2022, 02:34:11 PM Last edit: August 29, 2022, 02:48:20 PM by dkbit98 |
|
Where's BPIP extension's source code? I want to read how to add content on a loaded forum page (e.g., "View Archive"), because apparently stackoverflow doesn't seem to help.
It's on suchmoon's hard drive aka cloud Maybe you should contact ibminer or suchmoon and ask them if they can give it to you or release the code in public. I don't think they ever released BPI extension as open source software. PS I want to make one more suggestion to add this TryNinja script for putting personal notes on members: This was originally posted here. It adds a note field on each user's profile and posts. You can click the note itself to remove or change it. P.S: Notes are only stored LOCALLY and will be lost if you uninstall the extension. Only you can see your notes. Installation- Install Tampermonkey (Chrome, Brave...) or Greasymonkey (Firefox). - Add a new script and paste the code: // ==UserScript== // @name BitcoinTalk User Notes // @version 0.2 // @description Adds an note field to each user on BitcoinTalk // @author TryNinja // @match https://bitcointalk.org/index.php?topic=* // @match https://bitcointalk.org/index.php?action=profile;u=* // @icon https://www.google.com/s2/favicons?sz=64&domain=bitcointalk.org // @grant GM.setValue // @grant GM.getValue // @grant GM_setValue // @grant GM_getValue // ==/UserScript==
(async function() { 'use strict';
const getValue = typeof GM_getValue === "undefined" ? GM.getValue : GM_getValue; const setValue = typeof GM_setValue === "undefined" ? GM.setValue : GM_setValue;
const getParentNodeNth = (element, num) => { let parent = element; for (let i = 0; i < num; i++) { if (parent.parentNode) { parent = parent.parentNode; } } return parent; };
const getUserNote = async (user) => { const notes = JSON.parse(await getValue('notes') ?? '{}'); if (!notes) { return null; } return notes[user]; };
const setUserNote = async (user, note) => { const notes = JSON.parse(await getValue('notes') ?? '{}'); notes[user] = note; await setValue('notes', JSON.stringify(notes ?? {})); }
const texts = { addNote: `<span style="cursor: pointer; font-weight: bold">📜 Add Note</a>`, withNote: note => `<span style="cursor: pointer; font-weight: bold"><b>📜</b> ${note}</span>` };
const addNote = async (user, element) => { const note = prompt('Input the note (empty to remove):'); await setUserNote(user, note); if (note) { element.innerHTML = texts.withNote(note); } else if (note !== null) { element.innerHTML = texts.addNote; } }
if (window.location.href.match(/topic=\d+/)) { const targets = [...document.querySelectorAll('td.poster_info div a:last-child')].filter(e => window.getComputedStyle(getParentNodeNth(e, 11)).display !== 'none');
targets.map(async target => { const [_, userId] = [...target.parentNode.parentNode.childNodes].find(childNode => childNode.innerHTML).innerHTML.match(/u=(\d+)/); const noteDiv = document.createElement("div"); const note = await getUserNote(userId); if (!note) { noteDiv.innerHTML = texts.addNote; } else { noteDiv.innerHTML = texts.withNote(note); } target.before(noteDiv); noteDiv.addEventListener("click", () => addNote(userId, noteDiv), false); }); } else if (window.location.href.match(/profile;u=\d+/)) { const [_, userId] = window.location.href.match(/u=(\d+)/); const target = getParentNodeNth(document.querySelector("#bodyarea table tr td tbody tr:nth-child(2) tr:last-child").parentNode, 1); const noteDiv = document.createElement("div"); const note = await getUserNote(userId); if (!note) { noteDiv.innerHTML = texts.addNote; } else { noteDiv.innerHTML = texts.withNote(note); } target.before(noteDiv); noteDiv.addEventListener("click", () => addNote(userId, noteDiv), false); } })();
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18703
|
|
August 29, 2022, 02:45:37 PM |
|
I don't think they ever released BPI extension as open source software. Firefox extensions are installed as .xpi files, which can be opened with any archive manager. The BPIP source code is entirely open source and viewable within this archive.
|
|
|
|
dkbit98
Legendary
Offline
Activity: 2352
Merit: 7435
|
|
August 29, 2022, 03:01:54 PM |
|
Firefox extensions are installed as .xpi files, which can be opened with any archive manager. The BPIP source code is entirely open source and viewable within this archive.
BPIP website is clearly NOT the same thing as BPIP extension. Even if you can download and edit .xpi files, there are different licenses with all rights reserved, so you can't edit them just like that. I mean you can, but it's not ethically correct thing and it's called stealing btw please show me where exactly you saw open source license for BPIP website? https://bpip.org/
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1638
Merit: 8111
Bitcoin is a royal fork
|
|
August 29, 2022, 03:19:57 PM |
|
The BPIP XPI file will have the same name as the ID from the previous step. Thanks, but I have no idea what's this XPI. I'll have to spend some time. Edit: Just read your next response. Even if you can download and edit .xpi files, there are different licenses with all rights reserved, so you can't edit them just like that. But, I don't want to edit it (even though I'd appreciate if we merged the plugins into one). I just want to see how they make some things work. I'm not going to re-release BPIP, so no worries on that part. They might have said it isn't open-source, but I do meet the criteria to study the source: The extension works even if you browse BitcoinTalk.org without being logged in. The source code is not obfuscated and can be examined by anyone with sufficient JavaScript knowledge using developer tools built into most browsers. Same tools can also be used to check network traffic to/from the extension.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18703
|
|
August 29, 2022, 03:28:03 PM |
|
BPIP website is clearly NOT the same thing as BPIP extension. I'm obviously talking about the extension and not the website. Even if you can download and edit .xpi files, there are different licenses with all rights reserved, so you can't edit them just like that. .xpi files are Firefox extension files. When you install the BPIP extension, its data is stored in a .xpi file on your computer. We aren't downloading and editing anything, but rather opening the extension's source code to examine it.
|
|
|
|
dkbit98
Legendary
Offline
Activity: 2352
Merit: 7435
|
|
August 29, 2022, 03:43:52 PM |
|
I'm obviously talking about the extension and not the website. You still didn't show me the license for anything BPIP...and you claim it's open source. Please show me the license. .xpi files are Firefox extension files. When you install the BPIP extension, its data is stored in a .xpi file on your computer. We aren't downloading and editing anything, but rather opening the extension's source code to examine it.
You are downloading files the moment you installed extension in your browser. Why do you think there are licenses for extensions? But, I don't want to edit it (even though I'd appreciate if we merged the plugins into one). I just want to see how they make some things work. I'm not going to re-release BPIP, so no worries on that part.
I am sure it's not going to be problem, but better talk with suchmoon first
|
|
|
|
TryNinja
Legendary
Offline
Activity: 2954
Merit: 7379
|
|
August 29, 2022, 03:56:04 PM |
|
You still didn't show me the license for anything BPIP...and you claim it's open source. Please show me the license.
I think what he means is that the code is easily inspectionable (just like if it was on GitHub), not necessarily licensed as an open source code.
|
|
|
|
FatFork
Legendary
Offline
Activity: 1722
Merit: 2639
Top Crypto Casino
|
It is important to remember that all software, even if you have full access to the source code, is copyrighted by the author. Unless explicitly stated otherwise. That being said, all browser extensions submitted for listing on addons.mozilla.org and hosted on the Mozilla site must comply with Mozilla's conditions of use. This means, among other things, that extensions are not allowed to contain obfuscated code, nor code that hides the purpose of the functionality involved. sourceRegarding the license, the BPIP extension is distributed under the Mozilla Public License 2.0., so yes, it's Open Source both legally and technically.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18703
|
|
August 29, 2022, 05:38:47 PM |
|
I asked. She said it's fine. The source code is open by definition, anyone is free to do whatever they want with it.
|
|
|
|
suchmoon (OP)
Legendary
Offline
Activity: 3794
Merit: 9013
https://bpip.org
|
|
August 29, 2022, 10:06:24 PM |
|
Regarding the license, the BPIP extension is distributed under the Mozilla Public License 2.0., so yes, it's Open Source both legally and technically. Correct. I would appreciate though if any derivative work has a license permitting me (or anyone) to use it the same way my extension code is used, i.e. such changes should be released under MPL or similar license. However I don't have a way to enforce that nor would I try to, so... I asked. She said it's fine. The source code is open by definition, anyone is free to do whatever they want with it. Yeah
|
|
|
|
Timelord2067
Legendary
Offline
Activity: 3794
Merit: 2235
💲🏎️💨🚓
|
|
September 15, 2022, 11:45:11 AM |
|
I would appreciate though if any derivative work has a license permitting me (or anyone) to use it the same way my extension code is used, i.e. such changes should be released under MPL or similar license. However I don't have a way to enforce that nor would I try to, so...
You might want to consider employing the Creative Commons' Licence on your work.
Distribution rights aren't the same as the licence's rights' itself.
|
|
|
|
fillippone
Legendary
Online
Activity: 2282
Merit: 16382
Fully fledged Merit Cycler - Golden Feather 22-23
|
|
November 08, 2022, 12:45:14 PM Merited by JayJuanGee (1) |
|
Hello, I have been using this extension for a few weeks, and it is great! I have two requests: 1. Is it possible to have this extension in Safari? Is there any particular reason why it is not possible (yet) 2. Is it possible to integrate Re: Enhanced merit UI [1.3]. I don't know if you contacted ETFBitcoin for permission.
|
|
|
|
|
fillippone
Legendary
Online
Activity: 2282
Merit: 16382
Fully fledged Merit Cycler - Golden Feather 22-23
|
|
November 09, 2022, 10:57:03 AM |
|
FYI, the script was originally created by @grue[1-2] under GPLv2 license[3]. @EcuaMobi and i made several change/improvement. Mozilla provide guide to combine MPL 2.0 and and GPL license[4], but i don't know it can be applied for MPL 2.0 and GPLv2. Distribution rights aren't the same as the licence's rights' itself. Many software license including MPL 2.0 already handle how the software/source code can be distributed[5]. This is getting more and more complicated. I thought it was a technical issue, not a legal one! This one of mine is only a request. I have a deep respect for your work and commitment for this project. I will handle the little hassle of having multiple extension and on a browser I do not use regularly. Nothing dramatic!
|
|
|
|
dkbit98
Legendary
Offline
Activity: 2352
Merit: 7435
|
|
November 09, 2022, 07:29:46 PM Merited by JayJuanGee (1) |
|
Is it possible to have this extension in Safari? Is there any particular reason why it is not possible (yet) I think I saw easy way to convert any chrome extension to Safari, but this would be easy for developers, not so much for regular users. There was a similar way to convert extensions to Firefox from Chrome, so I don't see a big problem doing that for Safari browser. Easier way would be to just use alternative browsers for Mac and iOS with extension when you are browsing Bitcointalk forum. Maybe ask suchmoon about conversion from Chrome to Safari. EDIT: Check out this video with explanation and see if it works with BPIP Extension using crxextractor.com: https://www.youtube.com/watch?v=tFbBiEdFVUA
|
|
|
|
JanEmil
|
|
November 13, 2022, 05:38:12 PM |
|
Thank you for the add-on.
|
|
|
|
suchmoon (OP)
Legendary
Offline
Activity: 3794
Merit: 9013
https://bpip.org
|
|
November 13, 2022, 06:11:10 PM |
|
Yeah, it could be really complicated. Although in reality many (or perhaps most) personal/small project don't care or don't check license compatibility between each library/used source code. But AFAIK rewriting source code usually is legally acceptable. BPIP will have to do that anyway unless they want to bundle jQuery on their extension.
Yeah we don't really want jQuery. I'll take a look at what the enhanced merit UI does and if/how that functionality fits into our extension. I assume you wouldn't have a problem if we steal the idea but not the code? 1. Is it possible to have this extension in Safari? Is there any particular reason why it is not possible (yet)
I don't know a thing about Safari nor do I own or touch or have any regular relationship with any Apple products so that might be a bit of a challenge. But I'll see what can be done there. We have a cross-platform shim library between Firefox and Chrome/Edge, if it's as simple with Safari then it shouldn't be a problem. However if it requires an Apple developer license or something like that - I'd have to pass. I'm already having nightmares trying to maintain some mobile apps for iOS, don't need a new one
|
|
|
|
ABCbits
Legendary
Offline
Activity: 2996
Merit: 7869
Crypto Swap Exchange
|
Yeah, it could be really complicated. Although in reality many (or perhaps most) personal/small project don't care or don't check license compatibility between each library/used source code. But AFAIK rewriting source code usually is legally acceptable. BPIP will have to do that anyway unless they want to bundle jQuery on their extension.
Yeah we don't really want jQuery. I'll take a look at what the enhanced merit UI does and if/how that functionality fits into our extension. I assume you wouldn't have a problem if we steal the idea but not the code? No problem. In fact, i do not consider that as stealing.
|
|
|
|
TheBeardedBaby
Legendary
Offline
Activity: 2240
Merit: 3150
₿uy / $ell ..oeleo ;(
|
|
December 15, 2022, 12:20:51 PM |
|
Bumping this with suggestion, since the 14 days cycles for the activity reset are predefined, is it possible to add a countdown when the current cycle will end?
|
|
|
|
|