рдЬрдм рд╡рд┐рднрд┐рдиреНрди рдордВрдЪреЛрдВ рдФрд░ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб / рд╣реИрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд░рд┐рд╕рд╛рд╡ рд╢реБрд░реВ рд╣реБрдЖред рдиреЗрдЯрд╡рд░реНрдХ, рдореИрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднреБрд▓рд╛рдпрд╛ рди рдЬрд╛ рд╕рдХреЗред рдЗрд╕рд▓рд┐рдП рдореИрдВ
KeePass рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдлрд╝ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЖрдпрд╛, рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ
рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ
рд▓рд┐рдЦрд╛ , рдХреНрдпреЛрдВрдХрд┐ Habr├й рдкрд░
рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд╣реИрдВ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, KeePass рдХреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдЦрд╛рдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
LastPass рдХреЛ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП) рдХреЛ рдХрд╣реАрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдпрд╣ рдПрдХ рддрдереНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рднреА рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдкрд╣рд▓реЗ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП
KeeFox рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдерд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓
KeePassRPC (KeePass рдкреНрд▓рдЧрдЗрди) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдм рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░,
рдкрд╛рд╕рд┐рдлрд╝реЙрдХреНрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд╛рдпрд╛ рдЧрдпрд╛ (рдпрд╣ KeePass рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ -
KeePassHttp )
рдХреНрд░реЛрдордкрд╛рд╕ рдХреЗ рд╕рд╛рде
рддреБрд░рдВрдд - рд▓реЗрдХрд┐рди рдУрдкреЗрд░рд╛ 11 рдХреЗ рд▓рд┐рдП, рдУрдкреЗрд░рд╛ 12 (рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ
рдкреНрд░реЗрд╕реНрдЯреАрдЬ рдЗрдВрдЬрди рдкрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдореЗрд░рд╛ рдореБрдЦреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ) рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рдерд╛, рдХреЗрд╡рд▓ рд╡рд╣рд╛рдБ рдерд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЗрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдПрдХ
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛
рдЬреЛ рдХрд┐ рдХреАрдкрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрддреЗ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Ctrl + Alt + A (рдорд╛рдирдХ KeePass рдСрдЯреЛ-рдлрд┐рд▓ рд╣реЙрдЯрдХреА) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рдЪреВрдВрдХрд┐
рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдзреБрдирд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреМрд╢рд▓ рдирд╣реАрдВ рд╣реИрдВ , рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ / рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде
рдУрдкреЗрд░рд╛рдлреИрди рдкрд░ рдЕрдкрдиреА рдХрд┐рд╕реНрдордд
рдЖрдЬрдорд╛рдИ - рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд╣рд╛ред рдХрдЯ рдХреЗ рддрд╣рдд рдХреНрд░реЛрдордкрд╛рд╕ рдХреЛ рдУрдкреЗрд░рд╛ 12 (рдмрд╣реБрдд рддрдХрдиреАрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛) рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдЬрд╛рд░реА рд╣реИред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрд╛рд░рдЧрд░ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдХрдореА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдореИрдВ рдЖрдкрд╕реЗ рдЧрд▓рддрд┐рдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдд рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реВрдВред рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдХреБрдЫ рдмрддрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░реЗрд╕реНрдЯреЛ рдЗрдВрдЬрди рдкрд░ рдУрдкреЗрд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд▓рд╛рд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░рд╛ рдореБрдЦреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ рдФрд░ рдЕрдм рддрдХ рдореИрдВ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд, рдЧрддрд┐ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдореИрдВ рдУрдкреЗрд░рд╛ рдПрд╕реА рдХреЗ рдирд╡реАрдирддрдо рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рд▓рд┐рдП рдбреВрдмрд╛ рд╣реБрдЖ рдмрдиреНрд╕ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдУрдкреЗрд░рд╛ рдореЗрдВ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдХреНрд░реЛрдордкрд╛рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдФрд░ рд▓рд╛рд╕реНрдЯрдкрд╛рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди,
рд░реЛрдмреЛрдлрд╛рд░реНрдо рд▓рд╛рдЗрдЯ рдФрд░ рдУрдкреЗрд░рд╛ рдФрд░ рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рдорд╛рди рдХреЙрд▓ рдХреЛ рджреЗрдЦрдХрд░ - рдореИрдВрдиреЗ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдХрд┐ рд╡реЗ рдирд┐рдХрдЯрддрдо рд╣реИрдВ (рд╕рдордп рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдмрд╣реБрдд рдЧрд▓рдд рдерд╛)ред
рдЙрд╕ рд╕рдордп рдХрд╛ рдкрд╣рд▓рд╛ рдорд░реАрдЬ рдерд╛ рдХреНрд░реЛрдордкреАрд╕ 1.0.7ред рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рдереА, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЬреНрдЮрд╛рди рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдЙрдирдХреА рдмрд╛рддрдЪреАрдд, рдереЛрдбрд╝рд╛ рдЦрд╛рд▓реА рд╕рдордп, рд░реЛрдмреЛрдлрд╛рд░реНрдо рдХреА рддрд░рд╣ рд▓рд╛рд╕реНрдЯрдкрд╛рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, рдУрдкреЗрд░рд╛, рдХреНрд░реЛрдо рдФрд░ рд╕рдлрд╛рд░реА рдХреЗ рддрд╣рдд рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рд╣реА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡рд┐рд╢рд╛рд▓ рдЖрдХрд╛рд░ рдереЗред Chrome.extension.sendMessage рдХреЗ рд╕рд╛рде opera.extension.postMessage рдкреНрд░рд╛рдХреГрддрд┐рдХ "рдорд╣рд╛рдХрд╛рд╡реНрдп рд╡рд┐рдлрд▓" рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрдИ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереАрдВ рдФрд░ рдореИрдВ рдЦреБрдж KeePass рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛ред
рдкреНрд░рдХреНрд╖реЗрдкреНрдп рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рджреЛ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреНрд░реЛрдордкрд╛рд╕ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 2.6.6 рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЕрдЪреНрдЫрд╛рдЗрдпрд╛рдБ рд╣реИрдВред рдФрд░ рдпрд╣ рдУрдкреЗрд░рд╛ (рдкрд▓рдХ рдЗрдВрдЬрди рдкрд░) рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдореЗрдВ рдЦрд┐рд╕рдХрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдПрдирдИрдПрдХреНрд╕ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдЕрд╕рдорд╛рди рд░реВрдк рд╕реЗ рдПрдХ рдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдУрдкреЗрд░рд╛, рдЧреВрдЧрд▓ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкреЙрдкрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдкрд╣рд▓реЗ рд╕реЗ рдмрдВрдж рдордВрдЪ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордирд╛ рдФрд░ рдорд╛рдп рдУрдкреЗрд░рд╛ рдкрд░ рдмреНрд▓реЙрдЧ (рдореБрдЭреЗ рд╡реЗрдм рдЖрд░реНрдХрд╛рдЗрд╡ рдФрд░ рдЧреВрдЧрд▓ рдХреИрд╢ рдореЗрдВ рдЦреЛрджрдирд╛ рднреА рдкрдбрд╝рд╛) - рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
Config.xml рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛
рдерд╛ ,
chrome.extension.sendMessage рдХреЛ opera.extension.postMessage рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛
рдерд╛ (рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░
рдИ -
рд╕реНрд░реЛрдд.рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рдкрд░ рдИрд╡реЗрдВрдЯ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕реЗ рднреЗрдЬрдирд╛ рдирд╣реАрдВ рдерд╛,
рдИ рд╣реИ рдШрдЯрдирд╛ , рдХреНрдпреЛрдВрдХрд┐ ChromeIPass рдореЗрдВ event.js рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рдИрд╡реЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ)ред
Chrome рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдореЗрдХреЗрдирд┐рдЬреНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдХреЙрд▓ рдХреЛ рдХреЗрд╡рд▓ рдИрд╡реЗрдВрдЯ рднреЗрдЬрдиреЗ рдФрд░ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЗрди рдЗрд╡реЗрдВрдЯреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпреЗ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВред
Init.js. рдореЗрдВ redrome chabs.tabsред * Addaistener on
opera.extension.tabsред * (рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП,
рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ
рдХреЛ рдЕрдиреНрдпрдерд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рдУрдкреЗрд░рд╛ рдореЗрдВ рдУрдкреЗрд░рд╛ (chrome.tabs.onUpdated.addListener)
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред
рд╕рдХреНрд╖рдо рдбрд┐рдмрдЧрд┐рдВрдЧ (рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛) рдЬрд╣рд╛рдВ рдпрд╣ рдерд╛, рдЕрдкрдиреЗ рдбреАрдмрдЧрд┐рдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЕрд▓рдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдУрдкреЗрд░рд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдФрд░ рдбреНрд░реИрдЧрдирдлрд▓реА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
My.opera.com рдФрд░ рдЗрд╕рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди
рдЯреИрдм рд╡реЙрд▓реНрдЯ ,
рдСрдЯреЛрд╕реНрдЯреИрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рдЬреЛрдПрд▓ рд╕реНрдкреИрдбрд┐рди рдЙрд░реНрдл
рд╕реНрдкрджреАрдЬрд╛ рдХреЗ рдкреЛрд╕реНрдЯ рдФрд░ рдмреНрд▓реЙрдЧ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд▓реА рдЧрдИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХрд┐рдпрд╛ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреАрдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВрдиреЗ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдзрдорд╛рдХреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (
рдпрд╣ рдпрд╣рд╛рдВ рдерд╛ ), рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдмрд╛рдж рдореЗрдВ
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рдХреА рдЦреЛрдЬ рдХреА
рддрдм рдЗрдВрдЬреЗрдХреНрдЯреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рд╕реАрдХреНрд╡реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдХреНрд░реЛрдордкрд╛рд╕ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рд╣реИрдВ: рдореБрдЦреНрдп рдПрдХ рдФрд░ рджреЛ redone jQuery рдФрд░ jQuery UI)ред рдХреНрд░реЛрдо рдореЗрдВ, рдпрд╣ рдУрдкреЗрд░рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред
рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди my.opera рдлреЛрд░рдо (рдЕрдм рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ) рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ jQuery рдХреЗ рд▓рд┐рдП (ChromIPass рдореЗрдВ, jQuery рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ cIPJQ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП jQuery рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЯрдХрд░рд╛рд╡ рди рд╣реЛ) рдЗрд╕рдХреЗ рдЖрд░рдВрднрд┐рдХ рдХреЛрдб рдХреЛ init.js рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рди рдорд╛рдиреЗред рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛
var cIPJQ; if (typeof cIPJQ === 'undefined') { if (typeof window.cIPJQ !== 'undefined') { cIPJQ = window.cIPJQ.noConflict(true); } else { opera.postError(['Error: could not load jQuery']); } }
рдореИрдВрдиреЗ рдПрдХ рд░реЗрдХ рдкрд░ рдХрджрдо рд░рдЦрд╛ рд╣реИ рдХрд┐ opera.extension.bgProcess рдПрдХ рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ - рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рдирд╣реАрдВред
рдкреЙрдкрдЕрдк рдХреЗ рд▓рд┐рдП рдкрддреЗ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдлрд┐рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдорд╛рдзрд╛рди
рдпрд╣рд╛рдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдмрдХрд┐ рдЕрднреА рднреА Google рдХреИрд╢ рд╣реИред
рд▓реЗрдХрд┐рди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рд╕рдмрд╕реЗ рд▓рдВрдмрд╛ рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдкреЙрдкрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЛрд░реНрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд (
рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ), рддреЛ
e.source.postMessage рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреЙрдкрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдкреЙрдкрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реА рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░
рдореИрд╕реЗрдЬрдЪреИрдирд▓ рдмрдирд╛рдирд╛ рдерд╛ред рдФрд░ рдЗрди рд╕рднреА MessageChannel рдХреЗ рдмрдВрдж "рдкреНрд░рд╣рд╛рд░", tkред рдЯреИрдм рдмрдирд╛рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ,
opera.extension.tabs.getSelected () рдлрд╝рдВрдХреНрд╢рди рдкреЛрд░реНрдЯ = null рдХреЗ рд╕рд╛рде рдПрдХ рдЯреИрдм рджреЗрддрд╛ рд╣реИред
рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ
opera.extension.getFile () рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдирд┐рдХрд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд▓реЛрдбрд┐рдВрдЧ CSS (XMLHttpRequest рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреА рддрд░рд╣ рдЫрд╡рд┐ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╕рдордп рдмреЗрд╕ 64 рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реА:
rghost ,
SendpaceрдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдкреЛрд╕реНрдЯрдЖрд░реНрдЯ рдХреЗ рд╕рд╛рде
rghost ,
SendpaceрдкреНрд░рддрд┐рдмрдВрдз
- рдпрджрд┐ рдЖрдк KeePassHttp рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг config.xml рдореЗрдВ
/>
рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдУрдкреЗрд░рд╛ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред - HTTP рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЕрд╡рд░реЛрдзрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдУрдкреЗрд░рд╛ рдореЗрдВ рдмрд╕ рдРрд╕рд╛ рдЕрд╡рд░реЛрдзрди рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред
- рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдЕрдЬреНрдЮрд╛рдд рдЫрджреНрдо рд╡рд░реНрдЧ" рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рдмрд╣реБрдд рд╣реИрдВ: "рдкрд╣рд▓реЗ"ред рдХрдо рд╕реЗ рдХрдо рдбреНрд░реИрдЧрдирдлрд╝реНрд▓реВ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ рдЯрди рдерд╛ред
- рдХрднреА-рдХрднреА рдореБрдЭреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓ рдкрд╛рдпрд╛ рдХрд┐ рдирдП рдЯреИрдм рдмрдирд╛рддреЗ рд╕рдордп, рдореВрд▓реНрдп рдкреЛрд░реНрдЯ = рд╕реБрд╕реНрдд рдХреНрдпреЛрдВ рд╣реИред
- рдпрд╣ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрд▓рд░реНрдЯ () рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред
- рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдЬрдирд░реЗрдЯрд░ рд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдЗрд╕реЗ рдЦреЛрдж рдирд╣реАрдВ рдкрд╛рдпрд╛ рд╣реВрдВред рдзреВрдореНрд░рдкрд╛рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!