рдЯреВрд▓рдмрд╛рд░ рдЖрдЗрдХреЙрди рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рдлреЙрдиреНрдЯ рдХреА рдлреЗрдорд┐рд▓реА рдПрд░рд░ рдЧрд╛рдпрдм рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдЕрдкрдиреЗ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ, рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдкреНрд░рд╛рдкреНрдд
рдореБрдЭреЗ рдпрд╣ рд╕рднреА рдлреЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рддрд╛ рд╣реИред
рдХреГрдкреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВред
рдХреНрдпрд╛ рдЖрдк рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рднрд╛рдЧ рд░рд╣реЗ рд╣реИрдВ?
рдХреНрдпрд╛ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ
рдХрдо рд╕реЗ рдХрдо?
рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдпрд╛ рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧред Json
рдЖрджрд┐ред
рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдордб рд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ "рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ = NODE_ENV = рдкреНрд░реЛрдбрдХреНрд╢рди" рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИ, рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдорд┐рдирд┐рдорд╛рдЗрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред рдЬрд╕рди рдХреЛ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдЫреБрдЖ рдЬрд╛рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ mysql рдФрд░ admin pw рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдИрдерд░рдкреИрдб рд╕рднреА рдлреЛрдВрдЯ рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджрд┐рдЦрддрд╛ рд╣реИ
рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЧрд▓рдд рдФрд░ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдХрд┐рдпрд╛, рдХреБрдЫ рдирд╣реАрдВ рдмрджрд▓рд╛
рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдЕрдм, рдЕрдзрд┐рдХ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред json (рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрдВ)ред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
FWIW рдореИрдВрдиреЗ 1.6 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред *> 1.8.3 рдФрд░ рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рд╡рд┐рд░рд╛рд╕рдд cruft рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:!
рдпрджрд┐ рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдПрдХ рдЪреАрдЬ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣реИ:
cp settings.json settings.backup.json
cp settings.json.template settings.json
рдлрд┐рд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реЛрд╕реНрдЯ / рдпреВрдЬрд░ / рдХреЙрдкреА рдХреЛ settings.backup.json
рд╕реЗ settings.json
рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИред
/*
This file must be valid JSON. But comments are allowed
Please edit settings.json, not settings.json.template
To still commit settings without credentials you can
store any credential settings in credentials.json
*/
{
// Name your instance!
"title": "HelpMe-Etherpad",
// favicon default name
// alternatively, set up a fully specified Url to your own favicon
"favicon": "favicon.ico",
//IP and port which etherpad should bind at
"ip": "0.0.0.0",
"port" : 9001,
// Option to hide/show the settings.json in admin page, default option is set to true
"showSettingsInAdminPage" : true,
/*
// Node native SSL support
// this is disabled by default
//
// make sure to have the minimum and correct file access permissions set
// so that the Etherpad server can access them
"ssl" : {
"key" : "/path-to-your/epl-server.key",
"cert" : "/path-to-your/epl-server.crt",
"ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
},
*/
//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
/*"dbType" : "dirty",
//the database specific settings
"dbSettings" : {
"filename" : "var/dirty.db"
},
An Example of MySQL Configuration*/
"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad",
"host" : "localhost",
"password": "",
"database": "etherpad",
"charset" : "utf8mb4"
},
"users": {
"admin": {
"password": "",
"is_admin": true
}
},
//the default text of a pad
"defaultPadText" : "Willkommen zum CN-Etherpad!\n\nDieses Dokument wird beim Tippen laufend aktualisiert, sodass jeder immer denselben Text sieht. So kann man nahtlos zusammen an Dokumenten arbeiten.\n",
/* Default Pad behavior, users can override by changing */
"padOptions": {
"noColors": false,
"showControls": true,
"showChat": true,
"showLineNumbers": true,
"useMonospaceFont": false,
"userName": false,
"userColor": false,
"rtl": false,
"alwaysShowChat": false,
"chatAndUsers": false,
"lang": "de-de"
},
/* Should we suppress errors from being visible in the default Pad Text? */
"suppressErrorsInPadText" : false,
/* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
"requireSession" : false,
/* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
"editOnly" : false,
/* Users, who have a valid session, automatically get granted access to password protected pads */
"sessionNoPassword" : false,
/* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
but makes it impossible to debug the javascript/css */
"minify" : false,
/* How long may clients use served javascript code (in seconds)? Without versioning this
may cause problems during deployment. Set to 0 to disable caching */
"maxAge" : 21600, // 60 * 60 * 6 = 6 hours
/* This is the absolute path to the Abiword executable. Setting it to null, disables abiword.
Abiword is needed to advanced import/export features of pads*/
"abiword" : "/usr/local/bin/abiword",
/* This is the absolute path to the soffice executable. Setting it to null, disables LibreOffice exporting.
LibreOffice can be used in lieu of Abiword to export pads */
"soffice" : null,
/* This is the path to the Tidy executable. Setting it to null, disables Tidy.
Tidy is used to improve the quality of exported pads*/
"tidyHtml" : "/usr/bin/tidy",
/* Allow import of file types other than the supported types: txt, doc, docx, rtf, odt, html & htm */
"allowUnknownFileEnds" : true,
/* This setting is used if you require authentication of all users.
Note: /admin always requires authentication. */
"requireAuthentication" : false,
/* Require authorization by a module, or a user with is_admin set, see below. */
"requireAuthorization" : false,
/*when you use NginX or another proxy/ load-balancer set this to true*/
"trustProxy" : false,
/* Privacy: disable IP logging */
"disableIPlogging" : false,
/* Users for basic authentication. is_admin = true gives access to /admin.
If you do not uncomment this, /admin will not be available! */
// restrict socket.io transport methods
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
// Allow Load Testing tools to hit the Etherpad Instance. Warning this will disable security on the instance.
"loadTest": false,
// Disable indentation on new line when previous line ends with some special chars (':', '[', '(', '{')
/*
"indentationOnNewLine": false,
*/
/* The toolbar buttons configuration.
"toolbar": {
"left": [
["bold", "italic", "underline", "strikethrough"],
["orderedlist", "unorderedlist", "indent", "outdent"],
["undo", "redo"],
["clearauthorship"]
],
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]
]
},
*/
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
"loglevel": "INFO",
//Logging configuration. See log4js documentation for further information
// https://github.com/nomiddlename/log4js-node
// You can add as many appenders as you want here:
"logconfig" :
{ "appenders": [
{ "type": "console"
//, "category": "access"// only logs pad access
}
/*
, { "type": "file"
, "filename": "your-log-file-here.log"
, "maxLogSize": 1024
, "backups": 3 // how many log files there're gonna be at max
//, "category": "test" // only log a specific category
}*/
/*
, { "type": "logLevelFilter"
, "level": "warn" // filters out all log messages that have a lower level than "error"
, "appender":
{ Use whatever appender you want here }
}*/
/*
, { "type": "logLevelFilter"
, "level": "error" // filters out all log messages that have a lower level than "error"
, "appender":
{ "type": "smtp"
, "subject": "An error occurred in your EPL instance!"
, "recipients": "[email protected], [email protected]"
, "sendInterval": 300 // 60 * 5 = 5 minutes -- will buffer log messages; set to 0 to send a mail for every message
, "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods
"host": "smtp.example.com", "port": 465,
"secureConnection": true,
"auth": {
"user": "[email protected]",
"pass": "bar_foo"
}
}
}
}*/
]
}
}
рдареАрдХ рд╣реИ, рд╢рд╛рдВрдд 2 рдорд┐рдирдЯред
рдирд╣реАрдВ, рдХрд┐ рдирдХрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЯреВрд▓рдмрд╛рд░ рдмрдЯрди рдореЗрд░реЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВ ..
рдХреНрдпрд╛ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореБрдЭреЗ рдИрдореЗрд▓ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ [email protected]
рдмреЗрд╡рдХреВрдл рд╕рд╡рд╛рд▓ .. рддреБрдордиреЗ рдХрд┐рдпрд╛
bin/run.sh
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдзрдиреНрдпрд╡рд╛рдж!
рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рдирдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдЬрдЬреЛрди, рд╕реНрдХрд┐рди рдХреЛ рдиреЛ-рд╕реНрдХрд┐рди рдореЗрдВ рднреА рдмрджрд▓ рджрд┐рдпрд╛ред рдЕрднреА рднреА рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ ..
рдФрд░ рд╣рд╛рдБ, рдореИрдВрдиреЗ run.sh рдЪрд▓рд╛рдпрд╛ рд╣реИ, рд╕реЗрд╡рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирдХрджреА рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛ рд╣реИ :)
рдпрд╣ рд╕рд┐рд╕реНрдЯрдордб рд╕рд░реНрд╡рд┐рд╕ btw рд╣реИ:
[рдпреВрдирд┐рдЯ]
рд╡рд┐рд╡рд░рдг = рдПрдерд░рдкреИрдб
рдХреЗ рдмрд╛рдж = syslog.target network.target
[рд╕рд░реНрд╡рд┐рд╕]
рдкреНрд░рдХрд╛рд░ = рд╕рд░рд▓
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = рдИрдерд░
рд╕рдореВрд╣ = рдИрдерд░
рд╡рд░реНрдХрдбрд╛рдпрд░реЗрдХреНрдЯрд░реА = / рдСрдкреНрдЯ / рдИрдерд░рдкреИрдб
рдкрд░реНрдпрд╛рд╡рд░рдг = NODE_ENV = рдЙрддреНрдкрд╛рджрди
ExecStart = / opt / etherpad / bin / run.sh
рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдирд╛ = рд╣рдореЗрд╢рд╛
[рдЗрдВрд╕реНрдЯреЙрд▓]
WantedBy = рдмрд╣реБ-user.target
рдЖрдкрдиреЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛? рдХреНрдпрд╛ рдЖрдкрдиреЗ git clone
рдпрд╛ рдЖрдкрдиреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ .zip рдФрд░ unpack рд╣рдбрд╝рдк рд▓рд┐рдпрд╛?
рдЕрдиреБрд░реЛрдз URL: https://dev.com:9001/static/font/RobotoMono-Regular.ttf
jose<strong i="7">@server</strong>:~/develop$ locate RobotoMono | grep develop | grep Reg
/home/jose/develop/src/static/font/RobotoMono-Regular.ttf
рд╕рдм рдореБрдЭреЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЧрд┐рдЯ рдХреНрд▓реЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдпрд╛ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ (рдПрдХ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛) рдЬрд╝рд┐рдк рдЕрдирдкреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП rsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
рдЖрд╣, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЕрдВрддрд┐рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рдХреБрдЫ рд╣реИрдХ рд▓рдЧрд╛рдП? рдпрджрд┐ рдЖрдк git status
рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИрдВ?
рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдПрдХ рддрд╛рдЬрд╛ рд░реЗрдкреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЙрдкреА рдХрд░реЗрдВред рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдЬреАрдм рд╣реИ ..
рдореИрдВ рдЕрдм рдРрд╕рд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рдБ, рдпрд╣ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╣реИ .. рдЬреИрд╕реЗ рдХрд┐ рдлреЛрдВрдЯ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдИрдерд░рдкреИрдб рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ
рдХреЛрдб рд╕рд╣реА btw рд╣реИред src / рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ ..
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рдХреБрдЫ рд╣реИрдХ рдХрд┐рдпрд╛ рдерд╛, рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдВрддрд░ рдХреЛ рджреЗрдЦреЗред рдХреНрдпрд╛ рдЕрдм рд╣рдо рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ (рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдерд╛), рдлрд┐рд░ рднреА рд╕рд╛рдл рдХреНрд▓реЛрди рдХреЗ рдмрд╛рдж рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
@skramsa рд▓реБрд▓рд╡рд╛рдЯред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рдХреНрд▓реЛрди рдФрд░ рднрд╛рдЧреЛ рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? :! рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рд╣реИ .. рд▓реЙрдЧ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЪреЗрддрд╛рд╡рдиреА?
рдпрджрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рддрдм рднреА рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ?
рдХреЛрдИ рднреА рдореМрдХрд╛ рдЖрдк рдЗрд╕реЗ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдирд╣реАрдВ, рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рд╣реИ .. рдиреЛрдб 6 рд╕реЗ 12 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ .. рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдбреАрдмрдЧ рд╕реНрдЯреЗрдкреНрд╕ рдпрд╣рд╛рдБ рд╣реИрдВ ..
рдПрдХрдорд╛рддреНрд░ рд╕реБрд░рд╛рдЧ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ редред
https://github.com/ether/etherpad-lite/blob/develop/src/node/utils/Minify.js#L429
рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЖрдк рд╕рднреА рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рдл рд░рди рдмрдирд╛рддреЗ рд╣реИрдВред
рдЖрдкрдиреЗ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛, rm -Rf src/node_modules && rm src/package-lock.json
рддрдм bin/run.sh
рднрд╛рдЧ рд▓рд┐рдпрд╛? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рд╕рд╛рдл рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рд╣реИ;
рдЖрдкрдХрд╛ git sha
, npm --version
рдФрд░ nodejs version
рдорд╛рди рдХреНрдпрд╛ рд╣реИ?
npm 6.14.4 рд╣реИ рдФрд░ рдиреЛрдб -v 12.16.2 рд╣реИред рдмреЗрд╡рдХреВрдл рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдореЗрд░реЗ" рдЧрд┐рдЯ рд╢реЗ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
рдореИрдВрдиреЗ 1.6.2 рдкрд░ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЭреВрдареЗ рдХреА рддрд░рд╣ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЕрдЪрд╛рдирдХ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдЗрдХрди рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ)ред рдпрд╣ рдПрдХ рд░рд╛рд╣рдд рдХреА рдмрд╛рдд рд╣реИ .. рдореИрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдПрдХ рдФрд░ рд╕рд╛рдл рд╕реЗрдЯрдЕрдк рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд╢рд╛рдпрдж рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛: рдбреА рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж !!
рдЕрдкрдиреЗ рдИрдерд░рдкреИрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ git rev-parse HEAD
рдЯрд╛рдЗрдк рдХрд░реЗрдВ
рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкрд░ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВред
рдирдорд╕реНрддреЗ
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореИрдВ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рд╣реВрдБред
рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдмрд╕ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдФрд░ рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ред
рддрд╛рдЬрд╛ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдкрд░рдВрддреБ :
рджреВрд╕рд░реА рдУрд░, рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ, рдЬрдм рдореИрдВ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ https рдХреЗ рдмрд┐рдирд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдЗрдХрди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ !!
рдЕрдкрд╛рдЪреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдореЗрд░реА рддрд░рдл рд╕реЗ рдХреБрдЫ рднреА рд╡рд┐рджреЗрд╢реА рдирд╣реАрдВ рд╣реИред
рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ рдЗрдерд░рдкреИрдб) рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд╕рд╣реА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
<Location /static/font>
ProxyPass http://localhost:9001/static/font
ProxyPassReverse http://localhost:9001/static/font
</Location>
рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред jsonред
@skramsa рдиреЗ рдХрд┐рд╕реА рднреА рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рд╕реНрдХрд░реНрдорд╛ рдХреГрдкрдпрд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХреЛрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИред
рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ рдЗрдерд░рдкреИрдб) рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд╕рд╣реА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
<Location /static/font> ProxyPass http://localhost:9001/static/font retry=0 timeout=30 ProxyPassReverse http://localhost:9001/static/font </Location>
рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред jsonред
рд░рд┐рдЯреНрд░реАрдЯ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд┐рдпрдо рдХреНрдпреЛрдВ?
@skramsa рдиреЗ рдХрд┐рд╕реА рднреА рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рд╕реНрдХрд░реНрдорд╛ рдХреГрдкрдпрд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХреЛрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИред
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди @julpec рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ;)
рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ рдЗрдерд░рдкреИрдб) рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд╕рд╣реА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред<Location /static/font> ProxyPass http://localhost:9001/static/font retry=0 timeout=30 ProxyPassReverse http://localhost:9001/static/font </Location>
рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред jsonред
рд░рд┐рдЯреНрд░реАрдЯ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдирд┐рдпрдо рдХреНрдпреЛрдВ?
рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрд▓ рдХрд┐рдпрд╛ рдерд╛;)
@skramsa рдиреЗ рдХрд┐рд╕реА рднреА рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рд╕реНрдХрд░реНрдорд╛ рдХреГрдкрдпрд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХреЛрдИ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИред
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди @julpec рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ;)
рдпрд╣ рдзрдиреНрдпрд╡рд╛рдж рд╣реИ
рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ :
рджреВрд╕рд░реА рдУрд░, рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ, рдЬрдм рдореИрдВ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ https рдХреЗ рдмрд┐рдирд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдЗрдХрди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ !!
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдкрдиреЗ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдХреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реВрдВ рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдПрдереЗрд░рдкреИрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдпрд╣ рд▓реЙрдЧ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ:
[2020-04-29 10:43:29.440] [ERROR] console - table is not configured with charset utf8mb4 -- This may lead to crashes when certain characters are pasted in pads
рдЕрдЧрд░ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдкрддрд╛ рдирд╣реАрдВ ...
рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ :
рджреВрд╕рд░реА рдУрд░, рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ, рдЬрдм рдореИрдВ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ https рдХреЗ рдмрд┐рдирд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдЗрдХрди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ !!
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдкрдиреЗ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдХреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реВрдВ рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдПрдереЗрд░рдкреИрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдпрд╣ рд▓реЙрдЧ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ:
[2020-04-29 10:43:29.440] [ERROR] console - table is not configured with charset utf8mb4 -- This may lead to crashes when certain characters are pasted in pads
рдЕрдЧрд░ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдкрддрд╛ рдирд╣реАрдВ ...
рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдмрдирд╛рдПрдВред рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдореИрдВ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА (рдЕрдкрд╛рдЪреЗ) рдХреЗ рдкреАрдЫреЗ рд╣реВрдВ рдФрд░ рдореИрдВ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ) рдирд╡реАрдирддрдо рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдПрдХ рдорд┐рдирдЯ рдкрд╣рд▓реЗ рдЪрд┐рддреНрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ):
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
etherpad/etherpad latest 878d71df1b8e 44 hours ago 273MB
рдореВрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЯреВрд▓рдмрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рджрд┐рдЦрддрд╛ рд╣реИред рдИрдерд░рдкреИрдб /pad/
рдиреАрдЪреЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдлреЛрдВрдЯ /static/
рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк 404 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред
рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп @lucaguindani рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ /static/
рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд░рд╛рд╕реНрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдареАрдХ рд╣реИ, ASAP рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░реЗрдЧрд╛ред рдЖрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред
рд░рд┐рд▓реАрдЬ рдХреЗ рд╣рдлреНрддреЗ рдХреЗ рдмрд╛рдж рд╣рдо рд╕рднреА рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
Nginx рдмрд╣реБрдд w / рд╡рд┐рдХреА рдХреЙрдиреНрдлрд┐рдЧрд░реНрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣рд╛рдВ рджреЛрд╣рд░рд╛рд╡ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ ;;
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреБрдо рд▓реЛрдЧ рд╕рднреА рдПрдХ рдЕрдЬреАрдм рдЕрдкрд╛рдЪреЗ рдЧрд▓рдд-рд╡рд┐рдиреНрдпрд╛рд╕ / рдХреНрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рд╕рднреА рдХреЛ рдЕрдкрдиреА рдЕрдкрд╛рдЪреЗ рд╕рдмрдбрд┐рдЕрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд╣рд╛рдБ рд╕реЗ рдорд┐рд▓реА? рд╣рдо рд╡рд┐рдХрд┐ рдкрд░ рдПрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рд╛рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдЖрдк рд▓реЛрдЧ рджреБрд╖реНрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ? : рдкреА
PS рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд░рд┐рд▓реАрдЬ рд╣реИ рдФрд░ nginx config рд╣реИ:
server {
listen 80;
server_name pad.example.com;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
location /pad {
rewrite /pad/(.*) /$1 break;
rewrite ^/pad$ /pad/ permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/socket.io {
rewrite /pad/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
рдореИрдВрдиреЗ рдиреЛрдЯрд┐рд╕ рдкрд░реАрдХреНрд╖рдг / рдлреНрд░рдВрдЯрдПрдВрдб / рдЗрдВрдбреЗрдХреНрд╕ред рдлреЗрд▓ рдХрд┐рдпрд╛ рдЬреЛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ
рдореИрдВрдиреЗ рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП /pad/foo/p/blah
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреЛрдИ рдмрдЧ рдПрдерд░рдкреИрдб рдкрдХреНрд╖ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЪреАрдЬреЗрдВ рдареАрдХ рджрд┐рдЦрддреА рд╣реИрдВ ...
рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдпрд╣ рд░рд╣рд╛ рдореЗрд░рд╛:
<Location /pad/>
Order allow,deny
Allow from all
Options All +MultiViews -ExecCGI
AuthType Basic
AuthName "authentification"
AuthBasicProvider ldap
AuthLDAPURL "ldap://127.0.0.1:389/ou=****,dc=****,dc=****,dc=org"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
require ldap-group cn=****,ou=***,dc=*****,dc=****,dc=org
ProxyPass http://localhost:9002/
ProxyPassReverse http://localhost:9002/
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER,NS} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader add X-Forwarded-User %{RU}e
</Location>
рдПрдХ рдШрдВрдЯреЗ рдзрдиреНрдпрд╡рд╛рдж рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЖрдЬ рд░рд╛рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреБрдо рд▓реЛрдЧ рд╕рднреА рдПрдХ рдЕрдЬреАрдм рдЕрдкрд╛рдЪреЗ рдЧрд▓рдд-рд╡рд┐рдиреНрдпрд╛рд╕ / рдХреНрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рд╕рднреА рдХреЛ рдЕрдкрдиреА рдЕрдкрд╛рдЪреЗ рд╕рдмрдбрд┐рдЕрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд╣рд╛рдБ рд╕реЗ рдорд┐рд▓реА? рд╣рдо рд╡рд┐рдХрд┐ рдкрд░ рдПрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рд╛рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдЖрдк рд▓реЛрдЧ рджреБрд╖реНрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ? : рдкреА
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреБрдо рд▓реЛрдЧ рд╕рднреА рдПрдХ рдЕрдЬреАрдм рдЕрдкрд╛рдЪреЗ рдЧрд▓рдд-рд╡рд┐рдиреНрдпрд╛рд╕ / рдХреНрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рд╕рднреА рдХреЛ рдЕрдкрдиреА рдЕрдкрд╛рдЪреЗ рд╕рдмрдбрд┐рдЕрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд╣рд╛рдБ рд╕реЗ рдорд┐рд▓реА? рд╣рдо рд╡рд┐рдХрд┐ рдкрд░ рдПрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рд╛рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдЖрдк рд▓реЛрдЧ рджреБрд╖реНрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ? : рдкреА
рдореИрдВрдиреЗ рд╡рд╣рд╛рдБ рджреЗрдЦрд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдмрдбрд┐рд░ рдореЗрдВ рдПрдерд░рдкреИрдб рдбрд╛рд▓рдХрд░ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддреЗ ...
рдЕрдкрдиреЗ рд╕реНрдирд┐рдк рдХреЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
<VirtualHost *:81>
<Location /pad/>
Order allow,deny
Allow from all
Options All +MultiViews -ExecCGI
ProxyPass http://localhost:9001/
ProxyPassReverse http://localhost:9001/
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER,NS} (.+)
RewriteRule . - [E=RU:%1]
</Location>
</VirtualHost>
jose<strong i="5">@server</strong>:~/develop$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2020-03-13T12:26:16
рдореИрдВрдиреЗ рд╡рд╣рд╛рдБ рджреЗрдЦрд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдмрдбрд┐рд░ рдореЗрдВ рдПрдерд░рдкреИрдб рдбрд╛рд▓рдХрд░ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддреЗ ...
рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЛрдХреЗрд╢рди рдЯреИрдЧ рдореЗрдВ рдЖрдк рдЬреЛ рдЪрд╛рд╣реЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдЕрднреА рдФрд░ "рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛" рдХреЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдЕрдкрдиреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж btw
рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЛрдХреЗрд╢рди рдЯреИрдЧ рдореЗрдВ рдЖрдк рдЬреЛ рдЪрд╛рд╣реЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдЕрднреА рдФрд░ "рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛" рдХреЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдпрд╣ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ ... рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрд╕рд▓реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ!
рдЕрдЪреНрдЫреА рдмрд╛рдд: +1:
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдпрд╣ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрд╛рдЪреЗ "рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди-рдСрди" рдХреЗ рдкреАрдЫреЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВред
рдХреНрдпрд╛ рд╕реНрдерд╛рди рдХреЗ рд░реВрдк рдореЗрдВ "/" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдКрдкрд░ рд╕реЗ рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ...
рдореБрдЭреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдореИрдВ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдКрдкрд░ рд╕реЗ рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ...
рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЖрдЗрдХрди рдХрд╛ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ
рдЕрдкрд╛рдЪреЗ рд╕рдВрд╕реНрдХрд░рдг?
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: Apache / 2.4.38 (рдбреЗрдмрд┐рдпрди)
рд╕рд░реНрд╡рд░ рдирд┐рд░реНрдорд┐рдд: 2019-10-15T19: 53: 42
рдореИрдВрдиреЗ рддрддреНрд╡ рдирд┐рд░реАрдХреНрд╖рдХ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХреА рдФрд░ рдпрд╣реА рд╡рд╣ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдлреЛрдВрдЯ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реИ:
Request URL: https://example.org/static/font/RobotoMono-Regular.ttf
рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
Request URL: https://example.org/pad/static/font/RobotoMono-Regular.ttf
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ "рдкреИрдб" рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдирдП рдореЗрдЬрдмрд╛рди рдкрд░ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреАред
docker run --name etherpad -d \
-e NODE_ENV=production -p 9001:9001 \
--mount type=bind,src=/etc/localtime,dst=/etc/localtime \
--restart=unless-stopped \
etherpad/etherpad
рдореВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред
рдЕрдкрд╛рдЪреЗ рд╡рд┐рдиреНрдпрд╛рд╕:
<VirtualHost _default_:443>
ServerName host
<Proxy *>
Require all granted
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /pad/ http://localhost:9001/
ProxyPassReverse /pad/ http://localhost:9001/
SSLCertificateFile /etc/apache2/ssl/host.example.com_cert_with_chain.pem
SSLCertificateKeyFile /etc/apache2/ssl/host.example.com_sec_key.pem
SSLCertificateChainFile /etc/apache2/ssl/chain.pem
</VirtualHost>
рдЕрдкрд╛рдЪреЗ рд╕рдВрд╕реНрдХрд░рдг 2.4.29 рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╢ рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдо:
рдЕрдЬреАрдмред рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ docker рдХреА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЪреАрдЬреЗрдВ рдмрджрд▓рддреА рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ
@ рдЬреЙрдирдореЗрдпрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рд╛рде рдареАрдХ рдЙрд╕реА рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рдкреЛрд░реНрдЯ 81 рдкрд░, рдПрдХ рдЕрд▓рдЧ vhost рдореЗрдВ, рдЖрджрд┐ ... рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИред
рдореИрдВрдиреЗ рд╣рд░ рдмрд╛рд░ рдХреИрд╢ рдЦрд╛рд▓реА рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рдореЗрд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:
node: v10.20.1
npm: 6.14.4
apache2: Apache/2.4.38 (Debian)
etherpad: 1.8.3 (6210114)
рдореЗрд░реЗ рд╕рд╛рде рднреА рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдкреНрд░реЙрдХреНрд╕реА (nginx) рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЗрдХреЙрди рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ minify рд╕рд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдореИрдВрдиреЗ рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ clearRun.sh рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╢ рдХреЛ рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛, рдЖрдЗрдХрди рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдо рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ, рдпрд╣ minify рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛: рдпрд╣ рд╕рдЪ рд╣реИ рдФрд░ рдпрд╣ Nginx config рд╣реИред
server {
listen 80;
listen 443 ssl;
include snippets/mortis2-ssl.conf;
server_name mortis2;
location /pad/
{
#proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛, рдЬрдм рдореИрдВ @JohnMcLear рд╕реЗ nginx config рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ , рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рддрднреА рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ, рдЬрдм рд╣рдо рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд╛рди (рдЬреИрд╕реЗ / рдкреИрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рд╡рд┐рдиреНрдпрд╛рд╕:
server {
listen 80;
listen 443 ssl;
include snippets/mortis2-ssl.conf;
server_name mortis2;
location /pad/
{
rewrite /pad/(.*) /$1 break;
rewrite ^/pad$ /pad/ permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/socket.io {
rewrite /pad/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Op рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдЪ / рдЧрд▓рдд рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реЗрдВ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред Op рдиреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ .... рдЬрдм рдореИрдВ рдШрд░ рдЬрд╛рдКрдВрдЧрд╛ рддреЛ рдореИрдВ рдорд┐рдирд┐рдлрд╛рдИ рд╕рдЪ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред
рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣реБрдИ рд╣реИред
https://github.com/ether/etherpad-lite/issues/3956#issuecomment -620476150 рдиреЗ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдХрд┐ minify false
рдХреЛ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ рдФрд░ рдореБрдЭреЗ рдЦреБрдж рдХреЛ рдЬрд╛рдБрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдЕрдЧрд░ рдРрд╕рд╛ рдерд╛ рддреЛ ..
* рдлреЗрд╕рдкрд╛рд▓рдоред
ASAP рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛ред
FWIW Nginx рднреА рдЗрд╕ рд╡рд┐рдлрд▓рддрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рд╕рднреА рдкреГрд╖реНрдареЛрдВ (рдкреИрдб, рдЗрдВрдбреЗрдХреНрд╕, рдЯрд╛рдЗрдорд▓рд╛рдЗрдбрд░ рдЖрджрд┐) рдкрд░ рдореМрдЬреВрдж рд╣реИред
рд╕рдорд╕реНрдпрд╛ clean-css
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╣реИред рд╕реАрдПрд╕рдПрд╕ 3 рд╕реЗ 4 рдиреЗ relativeTo
рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдирд┐рд╖реНрдХрд╛рд╕рди рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдмрдЧ рдкреИрджрд╛ рд╣реЛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ rebase
рдФрд░ rebaseTo
рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛
https://github.com/JohnMcLear/etherpad-lite/commit/e684a3ba4129d1bae54e7b65a316a7d690217241 рдФрд░ рдПрдХ рдЕрд░реНрджреНрдз рдареАрдХ рд╣реИ рдФрд░ https://github.com/JohnMcLear/etherpad-lite/commit/a8c66b3b513b058e89f70b8e8d5ab622b33f167d рд╣реИрдХ defo рд╣реИред рдЪрд┐рд╣реНрди рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреИрдб рдЗрдВрдЯрд░реНрдирд▓реНрд╕ рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдп рдорджреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрдиреНрдЯ рдЧрд▓рдд рд╣реИред
рдХреЛрдИ рд╕реБрдЭрд╛рд╡ @jakubpawlowicz @seballot ?
@ рдЬреЙрдиреНрдордХреНрд▓реЗрдпрд░ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, https://github.com/jakubpawlowicz/clean-css#how -to- apply- рдордирдорд╛рдирд╛-рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ-рд╕реАрдПрд╕рдПрд╕-рдЧреБрдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓реАрди-рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЗрдирдкреБрдЯ рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИ, https://github.com/jakubpawlowicz/clean-css/blob/master/test/module-test.jpg#L620 , рдЬреИрд╕реЗ рджреЗрдЦреЗрдВ
new CleanCSS().minify({"path/to/stylesheet/a.css": { styles: "/* source of a.css goes here */" }})
рдФрд░ rebaseTo
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдореИрдВ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред
рд╕реМрднрд╛рдЧреНрдп!
рдмрдиреНрдж рд╣реИ ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ?
рдУрдкреА рдмрдВрдж ... рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рд╢реЛрд░ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ OP FWIW рдЖрдк рдЕрдирдлрд╝реЙрд▓реЛ рдпрд╛ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдпрд╛ рдХреБрдЫ рдФрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдИрдУрдбрдмреНрд▓реНрдпреВ рджреНрд╡рд╛рд░рд╛ рдкреИрдЪ рдирд╣реАрдВ рдерд╛, рддреЛ рдореИрдВ рдкреИрдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкреИрдЪ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕рдордп рдкрд╛ рд╕рдХрддрд╛ рд╣реИред
@JohnMcLear рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдорджрдж рдХрд░рдиреЗ рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдХреМрд╢рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЛрдбрдЬ рдореЗрдВ рднреА рдХрдо рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдореИрдВ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ...
рдЬрдм рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд▓рдВрдЧреЛрдЯ рдирд╣реАрдВ рдмрджрд▓рддреЗ;)
bump @seballot
рд╣рд╛рдп, рдпрд╣ рдПрдХ рдЦреЗрдж рдкрд░ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ ... рд╡рд╣рд╛рдБ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ?
develop
minify
рд╕реЗ true
рдореБрдбрд╝реЗрдВserver {
listen 80;
server_name pad.example.com;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
location /pad/foo {
rewrite /pad/foo/(.*) /$1 break;
rewrite ^/pad/foo$ /pad/foo permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_redirect / /pad/foo;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/foo/socket.io {
rewrite /pad/foo/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/foo/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
cleanCSS
рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ (рдареАрдХ рдЗрд╕реА рддрд░рд╣) рд╕реЗ ../../../
- рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдкреИрдб рдФрд░ рдПрдбрд┐рдЯрд░ рдПрдХ рд╣реА @ font.css рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рджреЛрдиреЛрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреЗрд╕рдкреИрде рд╣реИрдВ? рддрдм рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╕реБрдВрджрд░ рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рдирд╣реАрдВ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?@seballot рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдорд┐рддреНрд░?
рдорд╛рдл рдХрд░рдирд╛, рдореБрдЭреЗ рдареАрдХ рдирд╣реАрдВ рд▓рдЧрд╛ ...
рдореБрдЭреЗ рди рддреЛ, CleanCSS рдХреБрдЫ рдЬрд╛рджреВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ (рдореИрдВ рдПрдХ рд╕реАрдПрд╕рдПрд╕ рд▓рдбрд╝рдХрд╛ рдирд╣реАрдВ рд╣реВрдВ) рдФрд░ рдореЗрд░реЗ рдХреЛрдИ рднреА рдЙрджрд╛рд╣рд░рдг рдЙрдкрдЦрдВрдбреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕реАрдПрд╕рд╕реА рдХреЗ рд╕рд╛рде рдХреНрд▓реАрдирд╕реАрдПрд╕рдПрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рд╕реАрдУ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░ рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрд▓реАрдирд╕реАрдПрд╕рдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рдирдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИред ред
рдореИрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП bumped рджреЗрд╡ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рд╣рдо рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)
рдЕрдЪреНрдЫрд╛! рдЕрдЧрд░ рдпрд╣ csso рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпреЛрдВ рдирд╣реАрдВ?
рд╕реАрдПрд╕рдУ рдорд┐рдиреАрдлрд╛рдИ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди # рдкреЗрдЬ рд▓реЛрдб рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ / рдбреЙрдХреНрд╕ рдЖрджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓реАрдирд╕реАрдПрд╕рдПрд╕ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдПрдХ рдЕрдЪреНрдЫреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдлреЗрдВрдХрдиреЗ рдХрд╛ рдорди рдирд╣реАрдВ рдХрд░рддрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рдИрдерд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ-рдЙрдкрдХреНрд░рдореЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред Settings.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рдмрдбрд╝реЗ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВред
рд╕рдорд╛рдзрд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рд╣реИ
рдореИрдВ рдЗрд╕ рд░рд╛рдд рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ https://github.com/ether/etherpad-lite/issues/3956#issuecomment -625163151 рдореЗрдВ рдЬреЙрди рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП nginx рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП Nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ Etherpad рдХреЗ рдХреЛрдб рджреЛрдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдмрд╛рдж рдореЗрдВред
рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА nginx рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ 2 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ /static
рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореИрдВрдиреЗ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ cleanCSS рдХреЗ рднреАрддрд░ рдЧрд╣рд░реА рд╣реИ ...
рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг Nginx config рдлрд╝рд╛рдЗрд▓ рдореЗрдВ /static
рд▓рд┐рдП рдЧрд▓рдд рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдерд╛ред рдкреВрд░реЗ location /static
рдЕрдиреБрднрд╛рдЧ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╢рд┐рдХрд╛рдпрдд рдХреА рдереА - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - /static
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рд╣реЛ рд░рд╣рд╛ рдерд╛ ред рд╕рдВрднрд╡рддрдГ рд╡рд╣ рдЗрд╕ рдПрдХ рдХреЗ рд╕рдорд╛рди рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдЧреБрдорд░рд╛рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг (рд╡рд┐рдХреА? рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд╣реАрдВ рдФрд░?) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред
4177b3f9434e рдиреЗ font-face
рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ src/static/css/pad.css
рд╕реЗ рджреЛ рдЖрдпрд╛рддрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ ( src/static/css/pad/fonts.css
рдФрд░ src/static/css/pad/toolbar.css
) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ src
URL рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдкрде рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВ ;
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдЧрд╛рдореА 1.8.4 рдХреЗ рд▓рд┐рдП 95fd5ce2a45e рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреИрд╢ рд╕реНрдЯрд╛рд▓рд┐рд╕ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкреАрдЖрд░ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # 4002 рдЦреЛрд▓рд╛ рдЧрдпрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП @JohnMcLear рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
@skramsa , @julpec , @lucaguindani , @ashishhari (рдФрд░ John, рдЬрд╛рд╣рд┐рд░ рд╣реИ): рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рддреНрдпрд╛рдкрди рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ "/ рд╕реНрдерд┐рд░" рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдо рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ
рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдореИрдВ рдПрдХ рдПрдбрдмреНрд▓реНрдпреВрд╕реА рдИрд╕реА 2 рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдЬреАрдЯрд╕реА рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рд╡рд╣рд╛рдВ
рдПрдХ рдирдЧреАрдиреЗрдХреНрд╕ рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд┐рд╕реНрд╕реА рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдФрд░ рдиреЛрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдкреЛрд░реНрдЯ 9001 рдкрд░ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдИрдерд░рдкреИрдб рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЕрдиреНрдп nginx рд╕реЗрдЯрд┐рдВрдЧ tweak рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ? (рдореИрдВ рдирд╣реА
рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдареАрдХ рд╕реЗ рд╕рдордЭреЗрдВ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?), рдпрд╛ рдХреНрдпрд╛ рдореИрдВ
рдмрд╕ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
Thu рдкрд░, 14 рдордИ, 2020 рдХреЛ рд╕реБрдмрд╣ 6:07 рдмрдЬреЗ muxator рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:
рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЗ рд╣реИрдВред
1 рд╣реИред
рдкрд░реАрдХреНрд╖рдг Nginx config рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧрд▓рдд / рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдХреЗ рд▓рд┐рдП рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдерд╛ред
рд╕рдВрдкреВрд░реНрдг рд╕реНрдерд╛рди / рд╕реНрдерд┐рд░ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-625163151 ред
рдЗрди рджрд┐рдиреЛрдВ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдИрдореЗрд▓ рддреВрдлрд╛рди рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╢рд┐рдХрд╛рдпрдд рдХреА - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - рд╡рд╣ / рд╕реНрдереИрддрд┐рдХ рдмрд╣реБрдд рд╕реЗ рдЯрдХрд░рд╛ рд░рд╣рд╛ рдерд╛рдЕрдиреНрдп рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ ред рд╕рдВрднрд╡рддрдГ рд╡рд╣ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдЧреБрдорд░рд╛рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдпрд╣ рдПрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;рдпрд╣ рдкреНрд░рд▓реЗрдЦрди (рд╡рд┐рдХреА) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ?
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреБрдЫ рдФрд░?) рдФрд░ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ ред
реиред4177 рдмреА 3 рдПрдл
https://github.com/ether/etherpad-lite/commit/4177b3f9434e8516f8fe4f8e02b2a75ce5d64173
рдлрд╝реЙрдиреНрдЯ-рдЪреЗрд╣рд░реЗ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ src / static / css / pad.css рд╕реЗ рджреЛ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛
рдЖрдпрд╛рддрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ (src / static / css / pad / font.css рдФрд░
src / static / css / pad / toolbar.css) рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдФрд░ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ
src рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдкрде рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВ
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src ;
рейредрдЙрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, 95fd5ce рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж
https://github.com/ether/etherpad-lite/commit/95fd5ce2a45e31980ad8c2562e3fe6f77c52d4ff
рдЖрдЧреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ 1.8.4 рдХреЗ рд▓рд┐рдП , рд╣рдореЗрдВ рдХреИрд╢ рд╕реНрдЯрд╛рд▓рд┐рд╕рд┐рдЯреА рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА
рдЙрд╕ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИредрдореИрдВ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкреАрдЖрд░ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628317976 ,
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AH7VXAS65ZUAR33CPKSI6OLRRM4KZANCNFSM4MSSRTRQ
ред
@skramsa , @julpec , @lucaguindani , @ashishhari (рдФрд░ John, рдЬрд╛рд╣рд┐рд░ рд╣реИ): рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рддреНрдпрд╛рдкрди рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ static
рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИред
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реБрдЖред
рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдЕрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд, рдореИрдВрдиреЗ рдЭреВрдареЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
Thu рдкрд░, 14 рдордИ, 2020 рдХреЛ рджреЛрдкрд╣рд░ 1:30 рдмрдЬреЗ julpec рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:
@skramsa https://github.com/skramsa , @julpec https://github.com/julpec ,
@lucaguindani https://github.com/lucaguindani , @ashishhari
https://github.com/ashishhari (рдФрд░ рдЬреЙрди, рдЬрд╛рд╣рд┐рд░ рд╣реИ): рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреАрдЖрд░? рдореИрдВ
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рддреНрдпрд╛рдкрди рдХреА рддрд░рд╣редрдореЗрд░реЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдереИрддрд┐рдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ
рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдЕрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд, рдореИрдВрдиреЗ рдЭреВрдареЗ рдФрд░ рд╕рдм рдХреБрдЫ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛
рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628464590 ,
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AH7VXAXKTJKZCAZVRXZIJX3RROQLPANCNFSM4MSSRTRQ
ред
рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХреА -> рдорд┐рдереНрдпрд╛рдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рдирд╛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
(рдореИрдВрдиреЗ рд╢рд╛рдпрдж рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛)ред
Thu рдкрд░, 14 рдордИ, 2020 рдХреЛ рджреЛрдкрд╣рд░ 1:30 рдмрдЬреЗ julpec рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:
@skramsa https://github.com/skramsa , @julpec https://github.com/julpec ,
@lucaguindani https://github.com/lucaguindani , @ashishhari
https://github.com/ashishhari (рдФрд░ рдЬреЙрди, рдЬрд╛рд╣рд┐рд░ рд╣реИ): рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреАрдЖрд░? рдореИрдВ
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рддреНрдпрд╛рдкрди рдХреА рддрд░рд╣редрдореЗрд░реЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдереИрддрд┐рдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдиреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдЭреВрда рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ
рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдЕрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд, рдореИрдВрдиреЗ рдЭреВрдареЗ рдФрд░ рд╕рдм рдХреБрдЫ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛
рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628464590 ,
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AH7VXAXKTJKZCAZVRXZIJX3RROQLPANCNFSM4MSSRTRQ
ред
рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдЕрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд, рдореИрдВрдиреЗ рдЭреВрдареЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХреА -> рдорд┐рдереНрдпрд╛рдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рдирд╛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@julpec , @ashishhari : minify = false рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдорд╛рдзрд╛рди рд╣реИ ред
рдЖрд╢рд╛ рдЕрдм рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдХреНрдпрд╛ # 4002 рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдЬрдм = рд╕рдЪ рд╣реЛред
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧреА, рдпрд╣ рддрднреА рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рднреА рдЪрд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реЛрдВ:
рдмрдЧ рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:
minify
= true
settings.json
рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
minify
= true
settings.json
рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреАрдЖрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдкрддрд╛ :(
рдзрдиреНрдпрд╡рд╛рдж @muxator рдореИрдВ рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред
рдЕрд░реЗ рд╡рд╛рд╣ рдореИрдВ рдЙрд╕ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрднреА рдирд╣реАрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛! рд╡рд╣ рддреЛ рджрд▓рд╛рд▓ рд╣реИред
git remote add mux https://github.com/muxator/etherpad-lite/
git fetch mux
git checkout mux/fix/fonts-behind-reverse-proxy
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ ..
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж git checkout develop
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдк muxs рдХреА рдмрд╛рд╕реА рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣реЛрдВрдЧреЗ
рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЖрдЬ рджреЛрдкрд╣рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛
рд╣реНрдо рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдХрд╛рдлреА рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рд╣реИ @muxator .. рдореИрдВ ~ 54 рдЕрдиреБрд░реЛрдз рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдмрдирд╛рдо ~ 49 (рд╡рд░реНрддрдорд╛рди develop
) - рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдз рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рддреЛ рдпрд╣ рдкреАрдЖрд░ рдПрдХ рдкреГрд╖реНрда рд▓реЛрдб рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рддрд┐рдЧрдорди рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ / рдЕрд╕рдорд░реНрдерд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рд╕реНрд╡реАрдХрд╛рд░реНрдп IMHO рдирд╣реАрдВ рд╣реИред
рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ ... :( рдпрд╣ рдбрд┐рдлреЛ рдкреНрд░рдЧрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреБрд░реЛрдз рд╡рд╣ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдо рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди iframe рд╕реЗ рдХрдИ рдЕрдиреБрд░реЛрдз рдЖрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рдореБрдЦреНрдп рдкреГрд╖реНрда рдФрд░ рд╕рдВрдкрд╛рджрдХ iframe рдХреЛ рдлрд╝реЙрдиреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ?
afaik cleanCSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ @seballot
рдпрд╣ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рд╣рд╛рдВ, рд╣рдореЗрд╢рд╛ рд╕реЗ рдпрд╣реА рдерд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдПрд╕рдПрд╕ рдЖрдВрд╢рд┐рдХ (рдкреИрдб / popups.css, рдкреИрдб / editbar.css, рдкреИрдб / chat.css ...) рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП cleanCss рдЕрдзрд┐рдХ рдерд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рдкреИрдб рд▓реЛрдб рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди iframe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ iframe рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рд╢реЗрдпрд░ рдХреЛ рджреЛ рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдХреЙрд▓ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ ("рдХреИрд╢ рд╕реЗ рд▓реЛрдб") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдореИрдВрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрдкрд╛рдЪреЗ рдХреЗ рд╕рд╛рде)
рд╕рд╛рднрд╛рд░ @julpec
рдЖрдЬ рд╢рд╛рдо рдореИрдВ @JohnMcLear рдЪрд┐рдВрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ # рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ tnx mux
Github рдореЗрдВ рдХрд╣реАрдВ рдХрд╣реАрдВ HAR рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ? рдореИрдВрдиреЗ # 4002 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддрддреНрд╡:
рдЪрд░:
рдпреЗ рдЪрд╛рд░ рдмрд╛рдЗрдирд░реА рдЪрд░ рд╣реИрдВ -> 2 ^ 4 = 16 рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ ред
рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛!
рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдорд╛рдорд▓реЗ рд╣реИрдВ:
| рд╡рд┐рд╡рд░рдг | рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд╛рд╕ (4816785aef45) | рдкреАрдЖрд░ # 4002 |
| ---- | ---- | ---- ---- |
| рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдЫреЛрдЯрд╛, рдкрд╣рд▓рд╛ рд▓реЛрдб | 34 рдЕрдиреБрд░реЛрдз
1,61 рдПрдордмреА
1.61 рдПрдордмреА рддрдмрд╛рджрд▓рд╛ | 36 рдирд┐рд╡реЗрджрди
1,61 рдПрдордмреА
1.53 рдПрдордмреА рддрдмрд╛рджрд▓рд╛ |
| рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдЫреЛрдЯрд╛, рдЧрд░реНрдо рдХреИрд╢ | 29 рдирд┐рд╡реЗрджрди
1,12 рдПрдордмреА
216 KB рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд | 31 рдирд┐рд╡реЗрджрди
1,18 рдПрдордмреА
216 KB рддрдмрд╛рджрд▓рд╛ |
| рдХреНрд░реЛрдорд┐рдпрдо, рдЫреЛрдЯрд╛, рдкрд╣рд▓рд╛ рд▓реЛрдб | 44 рдЕрдиреБрд░реЛрдз
2,0 рдПрдордмреА
1,5 рдПрдордмреА рддрдмрд╛рджрд▓рд╛ | 109 рд╕рдмрд╕реЗ рдЕрдореАрд░
3,0 рдПрдордмреА
1,1 рдПрдордмреА рддрдмрд╛рджрд▓рд╛ |
| рдХреНрд░реЛрдорд┐рдпрдо, рдорд┐рдиреАрдлрд╛рдЗрдб, рд╣реЙрдЯ рдХреИрд╢ | 45 рдЕрдиреБрд░реЛрдз
2,2 рдПрдордмреА
5,7 KB рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд | 129 рдЕрдиреБрд░реЛрдз
4,7 рдПрдордмреА
4,7 KB рддрдмрд╛рджрд▓рд╛ |
рдЖрдзрд╛рд░ - рд░реЗрдЦрд╛ рд╣реИ рдХреА:
рдпреЗ рдореЗрд░реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рднреА рдереЗ, рдореИрдВрдиреЗ рдкреЗрдЬ рд▓реЛрдб рд╕реНрдкреАрдб рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯреВрд▓ (рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рд╕реЗ рдкрд░реЗ) рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдордп рд▓рд┐рдпрд╛ рдФрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЕрдЧрд░ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдореБрдЭреЗ рдПрдХ рдорддрд▓рдм рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдЪрд▓рди рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рдереЗ, рддреЛ рдкрд░рд┐рдгрд╛рдо рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдпреБрдХреНрдд рдереЗред
рдХреБрд▓ рдЕрдВрддрд░рдг рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд▓рдВрдм рдХреЗ рдХрд╛рд░рдг http рдЕрдиреБрд░реЛрдз рдУрд╡рд░рд╣реЗрдб рдорд╣рдВрдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЬрдм рд╣рдо рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗ (рдЬреЛ рдЗрдирд▓рд╛рдЗрди рдЬреЗрдПрд╕ рдХреЗ рдХрд╛рд░рдг рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдВрддрддрдГ рдЪрд╛рд░реЛрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА) рддреЛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рднреА рдЪреАрдЬреЛрдВ рдиреЗ рдХрд╣рд╛, рдЗрдерд░рдкреИрдб, htis рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдорд╣рд╛рди рд╣реИ, рдЕрдкрд╡рд╛рдж Google рдбреЙрдХреНрд╕ рд╣реИ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓реЗ "рдПрдбрд┐рдЯрд┐рдВрдЧ рдЯрд╛рдЗрдо" рдХреЗ рд▓рд┐рдП рд╕реЛрдиреЗ рдХрд╛ рдорд╛рдирдХ рд╣реИ рдЬреЛ рдЗрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд░рд╛рдЬрд╛ рд╣реИ, рдкреЗрдЬ 'рд▓реЛрдб' рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реИред
рддреЛ TLDR; рдорд░реНрдЬ рджреВрд░ рдХрд░реЗрдВ @muxator - рдпрд╣ рдзрд╛рдЧрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдЬреЛ
рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдп !
+1 tnx!
: +1:
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдерд░рдкреИрдб рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ рдЗрдерд░рдкреИрдб) рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд╕рд╣реА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ред jsonред