mirror of
https://github.com/webfactory/ssh-agent.git
synced 2025-04-24 06:52:13 +00:00
Improve RegEx to match key comment, rename variable
This commit is contained in:
parent
e8feaab9e8
commit
c6c4c59707
2 changed files with 10 additions and 10 deletions
10
dist/index.js
vendored
10
dist/index.js
vendored
|
@ -177,19 +177,19 @@ try {
|
||||||
child_process.execSync('ssh-add -l', { stdio: 'inherit' });
|
child_process.execSync('ssh-add -l', { stdio: 'inherit' });
|
||||||
|
|
||||||
child_process.execFileSync('ssh-add', ['-L']).toString().split(/\r?\n/).forEach(function(key) {
|
child_process.execFileSync('ssh-add', ['-L']).toString().split(/\r?\n/).forEach(function(key) {
|
||||||
let parts = key.match(/git@github.com:(.*)\.git/);
|
let parts = key.match(/\bgithub.com[:/](.*)(?:\.git)?\b/);
|
||||||
|
|
||||||
if (parts == null) {
|
if (parts == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let userHost = parts[1];
|
let ownerAndRepo = parts[1];
|
||||||
let sha256 = crypto.createHash('sha256').update(key).digest('hex');
|
let sha256 = crypto.createHash('sha256').update(key).digest('hex');
|
||||||
|
|
||||||
fs.writeFileSync(`${homeSsh}/${sha256}`, key + "\n", { mode: '600' });
|
fs.writeFileSync(`${homeSsh}/${sha256}`, key + "\n", { mode: '600' });
|
||||||
|
|
||||||
child_process.execSync(`git config --global --replace-all url."git@${sha256}:${userHost}".insteadOf "https://github.com/${userHost}"`);
|
child_process.execSync(`git config --global --replace-all url."git@${sha256}:${ownerAndRepo}".insteadOf "https://github.com/${ownerAndRepo}"`);
|
||||||
child_process.execSync(`git config --global --add url."git@${sha256}:${userHost}".insteadOf "git@github.com:${userHost}"`);
|
child_process.execSync(`git config --global --add url."git@${sha256}:${ownerAndRepo}".insteadOf "git@github.com:${ownerAndRepo}"`);
|
||||||
|
|
||||||
let sshConfig = `\nHost ${sha256}\n`
|
let sshConfig = `\nHost ${sha256}\n`
|
||||||
+ ` HostName github.com\n`
|
+ ` HostName github.com\n`
|
||||||
|
@ -199,7 +199,7 @@ try {
|
||||||
|
|
||||||
fs.appendFileSync(`${homeSsh}/config`, sshConfig);
|
fs.appendFileSync(`${homeSsh}/config`, sshConfig);
|
||||||
|
|
||||||
console.log(`Added deploy-key mapping: Use key ${sha256} for GitHub repository ${userHost}`);
|
console.log(`Added deploy-key mapping: Use key ${sha256} for GitHub repository ${ownerAndRepo}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
10
index.js
10
index.js
|
@ -60,19 +60,19 @@ try {
|
||||||
child_process.execSync('ssh-add -l', { stdio: 'inherit' });
|
child_process.execSync('ssh-add -l', { stdio: 'inherit' });
|
||||||
|
|
||||||
child_process.execFileSync('ssh-add', ['-L']).toString().split(/\r?\n/).forEach(function(key) {
|
child_process.execFileSync('ssh-add', ['-L']).toString().split(/\r?\n/).forEach(function(key) {
|
||||||
let parts = key.match(/git@github.com:(.*)\.git/);
|
let parts = key.match(/\bgithub.com[:/](.*)(?:\.git)?\b/);
|
||||||
|
|
||||||
if (parts == null) {
|
if (parts == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let userHost = parts[1];
|
let ownerAndRepo = parts[1];
|
||||||
let sha256 = crypto.createHash('sha256').update(key).digest('hex');
|
let sha256 = crypto.createHash('sha256').update(key).digest('hex');
|
||||||
|
|
||||||
fs.writeFileSync(`${homeSsh}/${sha256}`, key + "\n", { mode: '600' });
|
fs.writeFileSync(`${homeSsh}/${sha256}`, key + "\n", { mode: '600' });
|
||||||
|
|
||||||
child_process.execSync(`git config --global --replace-all url."git@${sha256}:${userHost}".insteadOf "https://github.com/${userHost}"`);
|
child_process.execSync(`git config --global --replace-all url."git@${sha256}:${ownerAndRepo}".insteadOf "https://github.com/${ownerAndRepo}"`);
|
||||||
child_process.execSync(`git config --global --add url."git@${sha256}:${userHost}".insteadOf "git@github.com:${userHost}"`);
|
child_process.execSync(`git config --global --add url."git@${sha256}:${ownerAndRepo}".insteadOf "git@github.com:${ownerAndRepo}"`);
|
||||||
|
|
||||||
let sshConfig = `\nHost ${sha256}\n`
|
let sshConfig = `\nHost ${sha256}\n`
|
||||||
+ ` HostName github.com\n`
|
+ ` HostName github.com\n`
|
||||||
|
@ -82,7 +82,7 @@ try {
|
||||||
|
|
||||||
fs.appendFileSync(`${homeSsh}/config`, sshConfig);
|
fs.appendFileSync(`${homeSsh}/config`, sshConfig);
|
||||||
|
|
||||||
console.log(`Added deploy-key mapping: Use key ${sha256} for GitHub repository ${userHost}`);
|
console.log(`Added deploy-key mapping: Use key ${sha256} for GitHub repository ${ownerAndRepo}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue