Support for custom plugin repository
-
Hello all,
I work in a company that has very strict security controls and blocks npp plugins downloads. This is for multiple and very sensible reasons that target the containment of information within the internal network and issues related to security and controls on software sourced from the internet.
Downloading manually and installing them in the plugins folder is out of the question.Is there a way to setup a custom internal git repo so the plugins can be downloaded/verified by authorized people and placed in the internal plugin repo?
This would help a large of number of developers that are using notepad++, allowing them to use some very useful and safe plugins available.
Kind regards,
Luis -
I forgot to put the actual question.
Is there a way of changing where does notepad++ looks for the list of plugins and where to download them from?
If yes, where could I find the documentation related to this?
Thanks!
-
Natively, there is no way to configure that.
However, the plugin list that Plugins Admin uses is derived from a DLL (nppPluginList.dll) which is shipped with each version of Notepad++. Your I.T. organization might be able to compile their own version of the DLL, and put that in the
<installdir>\Plugins\Configfolder instead of the one that ships with the public Notepad++. I have never tried that, so I don’t know if Notepad++ does a signing check on the nppPluginList.dll or not (I believe it does on the included Scintilla DLL, so it wouldn’t surprise me if it did on the plugin DLL , too), but a decent IT group would be able to figure that out.Alternatively, you said,
Downloading manually and installing them in the plugins folder is out of the question.
I disagree. If your IT organization wanted to, they could do the download and verify plugins, and set up a “safe plugins” site where they store copies of the “safe” ones. For example, put it on some internal website or some shared network drive. Then they (as admins) or individual users (if users have the permissions to write to the plugins folder) could copy the desired plugins from the “safe plugins” location to the installed Notepad++ instance.
Edit: add link to nppPluginList.dll repo = https://github.com/notepad-plus-plus/nppPluginList/
-
Hello, @peterjones and All,
The plugins, listed in the
Markdownfiles, below, do not contain all the data ( For instance, the folder name andSHA-256checksum are missing )https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md
https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md
These last days, I was trying to easily get a complete table of N++ plugins which contains all data from the initial
jsonfiles. Here is this method.Just one constraint : you must have the
Elastic TabStopsplugin, of Justin Dailey ( aka @Dail ), installed in your N++ configuration !Note that the final plugins’ table will contain eight columns :
| Plugin name | Author | Homepage | Folder Name | Version | Link | Description | SHA-256 |
Let’s go :
- Click on one of these two files, below :
https://github.com/notepad-plus-plus/nppPluginList/blob/master/src/pl.x86.json
https://github.com/notepad-plus-plus/nppPluginList/blob/master/src/pl.x64.json
-
Click on the
Rawbutton, at right of theGitHubpage -
Select all contents (
Ctrl + A) -
Copy to the clipboard (
Ctrl + C) -
Start Notepad++
-
Open a new tab (
Ctrl + N) -
Paste the clipboard contents (
Ctrl + V) -
Save it, as a normal
.txtfile. For instance,PluginsList_32.txtorPluginsList_64.txt -
Make sure that the last line is followed with a line-break ( This should always be the case, even if you extracted these files from the last
nppPluginList-x.y.z.zip! ) -
If necessary, remove the N++ Word Wrap mode (
View > Word wrap) -
Run the menu command
Plugins > Elastic Tabstops > Enableand verify that the lineEnableis checked -
Make a normal selection of all the text below, written in free-spacing mode, from
(?x-si)tillGroup 10
(?x-si) # FREE-SPACING mode, DOT matches STANDARD chars, Search SENSITIVE to CASE # Header ^ \h+ "name" :\x20 " .+ " , \R \h+ "version" :\x20 " (.+) " , \R # Group 1 \h+ "arch" :\x20 " (.+) " , \R # Group 2 \h+ "npp-plugins" :\x20 \[ \R | # OR ^ \h* [{}\x5b\x5d] ,? \R # Delimiters : { } [ ] , at ANY level, POSSIBLY followed with a COMMA | # OR # Each JASON MULTI-lines RECORD {••••••••}; ^ \h+ "folder-name" :\x20 " (.+) " , \R # Group 3 \h+ "display-name" :\x20 " (.+) " , \R # Group 4 \h+ "version" :\x20 " (.+) " , \R # Group 5 \h+ "id" :\x20 " (.+) " , \R # Group 6 \h+ "repository" :\x20 " (.+) " , \R # Group 7 \h+ "description" :\x20 " (.+) " , \R # Group 8 \h+ "author" :\x20 " (.*) " , \R # Group 9 \h+ "homepage" :\x20 " (.*) " \R # Group 10
- Open the Replace dialog (
Ctrl + H)
=> The
Find what:zone should be filled up with this search- Depending on whether the current file is a Windows (
CRLF) or Unix (LF) file, use the appropriate following replacement :
REPLACE ( Win )
(?1\r\n\x20\x20\x20\x20NPP-PluginList - $2 bits - Version $1\r\n\r\n)?3|\x20\x20$4 \t|\x20\x20$9 \t|\x20\x20$10 \t|\x20\x20$3 \t|\x20\x20$5 \t|\x20\x20$7 \t|\x20\x20$8 \t|\x20\x20$6 \t|\r\nREPLACE ( Unix )
(?1\n\x20\x20\x20\x20NPP-PluginList - $2 bits - Version $1\n\n)?3|\x20\x20$4 \t|\x20\x20$9 \t|\x20\x20$10 \t|\x20\x20$3 \t|\x20\x20$5 \t|\x20\x20$7 \t|\x20\x20$8 \t|\x20\x20$6 \t|\n-
Tick the
Wrap aroundoption -
Select the
Regular expressionsearch mode -
Click on the
Replace Allbutton
=> You should get, at once, a nice table with all the columns lined up ( Click on the
Show All Charactersicon )-
Now, run the menu command
Plugins > Elastic Tabstops > Convert Tabstops to Spaces( IMPORTANT ) -
And, either, add this header, below, to the beginning of your
32 bitsplugin’s table :
•------------------------------------•------------------------------------------------------•---------------------------------------------------------------------------•----------------------------------•-------------------•------------------------------------------------------------------------------------------------------------------------------------------------------------------------•----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------•--------------------------------------------------------------------• | Plugin name | Author | Homepage | Folder Name | Version | Link | Description | SHA-256 | •------------------------------------•------------------------------------------------------•---------------------------------------------------------------------------•----------------------------------•-------------------•------------------------------------------------------------------------------------------------------------------------------------------------------------------------•----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------•--------------------------------------------------------------------•- Or add this header to the beginning of your
64 bitsplugin’s table :
•------------------------------------•------------------------------------------------------•------------------------------------------------------------------------•----------------------------------•-------------------•------------------------------------------------------------------------------------------------------------------------------•----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------•--------------------------------------------------------------------• | Plugin name | Author | Homepage | Folder Name | Version | Link | Description | SHA-256 | •------------------------------------•------------------------------------------------------•------------------------------------------------------------------------•----------------------------------•-------------------•------------------------------------------------------------------------------------------------------------------------------•----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------•--------------------------------------------------------------------•- Finally, save the contents of your
PluginsList_32.txtorPluginsList_64.txtfile
Here we are. Nice isn’t it ?. Note you’ll probably have to ajust these title lines a bit, in later releases ;-))
Best Regards
guy038
-
Hi @peterjones and All,
While playing around with the
.mdand.jsonfiles of the Plugins List, I came across two small irregularities but I don’t exactly know to which person I should report it !
- In the
plugin_list_x86file, below :
https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md
At the beginning of the description of the
SQLplugin, there is an weirdFFcharacter in the string Allows to search\filter a CSV formatted text …, because the\fis wrongly detected as aForm Feedchar !
- In both files
pl.x86.jsonandpl.x64.json, below :
https://github.com/notepad-plus-plus/nppPluginList/blob/master/src/pl.x86.json
https://github.com/notepad-plus-plus/nppPluginList/blob/master/src/pl.x64.json
The link of the
Preview HTMLplugin seems to contain a wrong%##syntax. Indeed, the underscore character, after.zip, should be translated as%5Fand not as%3F!?https://fossil.2of4.net/npp_preview/zip/PreviewHTML32.zip%3Fname%3D%26uuid%3Dv1.3.2.0-32
BTW, I verified that all other
%##syntaxes, which refer to a space char (%20) or the + char (%2B) are correct !BR
guy038
- In the