segundo commit

This commit is contained in:
root 2025-11-06 19:19:45 +00:00
parent 6b8b75863a
commit d2e79d63a5
13601 changed files with 1117197 additions and 0 deletions

161
node_modules/ssb-server/bin.js generated vendored Executable file
View file

@ -0,0 +1,161 @@
#! /usr/bin/env node
var fs = require('fs')
var path = require('path')
var pull = require('pull-stream')
var toPull = require('stream-to-pull-stream')
var File = require('pull-file')
var explain = require('explain-error')
var Config = require('ssb-config/inject')
var Client = require('ssb-client')
var minimist = require('minimist')
var muxrpcli = require('muxrpcli')
var cmdAliases = require('./lib/cli-cmd-aliases')
var ProgressBar = require('./lib/progress')
var packageJson = require('./package.json')
//get config as cli options after --, options before that are
//options to the command.
var argv = process.argv.slice(2)
var i = argv.indexOf('--')
var conf = argv.slice(i+1)
argv = ~i ? argv.slice(0, i) : argv
var config = Config(process.env.ssb_appname, minimist(conf))
if (config.keys.curve === 'k256')
throw new Error('k256 curves are no longer supported,'+
'please delete' + path.join(config.path, 'secret'))
var manifestFile = path.join(config.path, 'manifest.json')
if (argv[0] == 'server') {
console.log('WARNING-DEPRECATION: `sbot server` has been renamed to `ssb-server start`')
argv[0] = 'start'
}
if (argv[0] == 'start') {
console.log(packageJson.name, packageJson.version, config.path, 'logging.level:'+config.logging.level)
console.log('my key ID:', config.keys.public)
// special start command:
// import ssbServer and start the server
var createSsbServer = require('./')
.use(require('ssb-onion'))
.use(require('ssb-unix-socket'))
.use(require('ssb-no-auth'))
.use(require('ssb-plugins'))
.use(require('ssb-master'))
.use(require('ssb-gossip'))
.use(require('ssb-replicate'))
.use(require('ssb-friends'))
.use(require('ssb-blobs'))
.use(require('ssb-invite'))
.use(require('ssb-local'))
.use(require('ssb-logging'))
.use(require('ssb-query'))
.use(require('ssb-links'))
.use(require('ssb-ws'))
.use(require('ssb-ebt'))
.use(require('ssb-ooo'))
// add third-party plugins
require('ssb-plugins').loadUserPlugins(createSsbServer, config)
// start server
var server = createSsbServer(config)
// write RPC manifest to ~/.ssb/manifest.json
fs.writeFileSync(manifestFile, JSON.stringify(server.getManifest(), null, 2))
if(process.stdout.isTTY && (config.logging.level != 'info'))
ProgressBar(server.progress)
} else {
// normal command:
// create a client connection to the server
// read manifest.json
var manifest
try {
manifest = JSON.parse(fs.readFileSync(manifestFile))
} catch (err) {
throw explain(err,
'no manifest file'
+ '- should be generated first time server is run'
)
}
var opts = {
manifest: manifest,
port: config.port,
host: config.host || 'localhost',
caps: config.caps,
key: config.key || config.keys.id
}
// connect
Client(config.keys, opts, function (err, rpc) {
if(err) {
if (/could not connect/.test(err.message)) {
console.error('Error: Could not connect to ssb-server ' + opts.host + ':' + opts.port)
console.error('Use the "start" command to start it.')
console.error('Use --verbose option to see full error')
if(config.verbose) throw err
process.exit(1)
}
throw err
}
// add aliases
for (var k in cmdAliases) {
rpc[k] = rpc[cmdAliases[k]]
manifest[k] = manifest[cmdAliases[k]]
}
// add some extra commands
// manifest.version = 'async'
manifest.config = 'sync'
// rpc.version = function (cb) {
// console.log(packageJson.version)
// cb()
// }
rpc.config = function (cb) {
console.log(JSON.stringify(config, null, 2))
cb()
}
if (process.argv[2] === 'blobs.add') {
var filename = process.argv[3]
var source =
filename ? File(process.argv[3])
: !process.stdin.isTTY ? toPull.source(process.stdin)
: (function () {
console.error('USAGE:')
console.error(' blobs.add <filename> # add a file')
console.error(' source | blobs.add # read from stdin')
process.exit(1)
})()
pull(
source,
rpc.blobs.add(null, function (err, hash) {
if (err)
throw err
console.log(hash)
process.exit()
})
)
return
}
// run commandline flow
muxrpcli(argv, manifest, rpc, config.verbose)
})
}