pc

授权协议 MIT License
开发语言 Python
所属分类 应用工具、 IM/聊天/语音工具
软件类型 开源软件
地区 不详
投 递 者 司寇星海
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

people's cloud

using the ideas of botnets for good

the documentation on this page is always under construction ⚠️

aim & intent

to create a technological solution so that people with computing power can share it with others.

in its current iteration, this is focused on botmakers so that botmakers with servers can run swarms where botmakers without servers, or the monetary means to acquire & run them, can run their creations, while (hopefully!) reducing the overhead needed for the server people to share their resources.

what is it

a tool for creating decentralized swarms of computers, where nodes in the swarms can deploy programs to be run on other nodes

who is it for

obviously everyone since it is open source, but
it's intended for small communities with an already established trust, as technical trust is a complex subject
it's for art bot / folk bot people that want to run their bots with the help of their friends
it's for private communities that want to experiment with weird stuff
basically, if you don't trust the people you will join the swarm with - don't run this

how do i use it

first make sure you have fulfilled all the requirements (ipfs/docker/go)

then, in a terminal window, do:
go run pc.go daemon config.toml

using another terminal window you can now issue commands to the daemon:

go run pc.go --help
Usage:
  pc [command]

Available Commands:
  create      Create a new swarm
  daemon      Starts the pc daemon
  deploy      Deploy a program to be run by a node in the swarm
  join        Join a new swarm
  leave       Leave a swarm
  list        Lists all connected swarms and deployed programs
  stop        Stop a deployed program

binaries are coming. they can also be built using go build pc.go

terminology

  • nodes
    • simply a computer running the pc daemon command
  • swarms
    • a group of connected nodes, sharing the load of the deployed programs within the swarm
  • programs
    • self-contained javascript/python code, e.g. a python twitter bot

what you can currently do

  • run self-contained nodejs, python2 and python3 programs on other people's computers

python 2/3

  • make sure your main file that does all the work is called bot.py
  • have a file called requirements.txt in the same folder as bot.py, which lists all of the modules you've downloaded to make your program or bot run

nodejs

  • make sure you have a package.json file that lists the start script (example of this forth-coming - don't worry!)

requirements

  • ipfs
  • docker
  • go

coming up

  • binaries & github releases so you don't have to bother with using go run to run it
  • standalone clients, which would included
    • binaries with ipfs bundled
    • binaries without the docker requirement (still mulling this about)
  • support for password protected swarms
  • configuration examples
  • modularizing the code even further, for reuse in other projects
  • investigations into...
    • a dockerized setup so that you can just download an image and launch that instead
    • running everything on raspberry pis (i.e. cross-compiling binaries for the pi)
      • creating a build process to automate cross-compiling, alongside other binaries
    • exposing ports so potentially webservices could run & communicate with the outside world
    • supporting languages other than python & js
    • granularity in configuration of your node, allowing you to restrict runtime, RAM usage and the like
    • technical audits that will allow for traceability of deployed programs (and thus some form of security for hosts)
    • potentially using pubsub as a communication mechanism
  • exposing under-the-hood details via options for communities that want to tinker
  • bugfixes ��

contributions

would love some! i'll think about and write some instructions on what kind of format they should follow to make life easier for integrating changes and new features.

issues/bugs/crashes

alpha version, work in progress etc

there are probably lots of bugs lurking around, so let me know if you find any!

either write a nice github issue about it, or ping me on twitter

credit

organization branding by osavox

  • 在服务器市场,代表开放性架构的x86服务器尽管在销量上可占到总体的80%,但市场分额只能保持在50%上下,原因在于企业关键业务上,小型机向来都是首选。小型机,一种介于PC服务器和大型机之间的高性能计算机,一般认为,传统小型机是指采用RISC、MIPS等专用处理器,主要支持UNIX操作系统的封闭、专用的计算机系统,所以又称RISC服务器或Unix服务器。不久前,IBM发布了其最新的RISC处理器Po

  • 冯 ·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”!处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取指指令的地址。程序计数器(PC )正是起到这种作用,所以通常又称之为指令计数器。CPU总是按照PC的指向对

  • js判断移动端还是pc端 function isMobile() { let userAgentInfo = navigator.userAgent; let Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod']; let getArr = Agents.filter(i =

  • PC 寄存器用于存放指令的地址。 在 CPU 启动时,会进行初始化,即设置当前地址为 0 。 使用了32个类型为D_FFEC的D触发器来实现一个32位的通用寄存器,寄存器的值的变化只可能发生在时钟周期的上升沿,并且输入使能信号En,清零信号Clrn,时钟信号Clk. module PC_REG(D, Clk, Clrn, Q); input [31:0] D;

  • 不论是电脑高手,还是刚刚接触电脑的朋友,对于pc这个词应该都不陌生吧?不过很多人对pc的概念还比较模糊,所以常常有人问“ pc是什么意思 ?到底什么是pc?”。简单的说,pc就是指电脑,不过在平常的叫法上,pc和电脑在叫法上最好不要混用,比如“老板,给我装一台pc”,“网管!我这台PC有问题”,虽然意思是对的,不过听起来总感觉很别扭。 好了,我们还是来详细了解下 pc是什么意思 吧。 PC的英文全

  • PC Access SMART是用于S7-200 SMART的OPC软件。 已实现了它自带的客户机测试功能,和组态王与S7-200 SMART CPU的OPC通信。感觉PC Access SMART 有以下优点: 1)PC Access V1.0 SP6不能用于Win7,PC Access SMART可用于32位和64位的Win7。PC Access SMART和PC Access可以安装在同一操

  • 前言 近期发现大麦网页端抢购页面悄然发生变化,之前可以在页面选择票价、档次,并且点击按钮进行购票,现在不行了。 新的解决方案 新的代码中首先进行了如下改造。 构造下单地址。之前是需要在购票地址页面点击按钮进行跳转,现在是利用接口获取到票务信息,直接构造下单地址,速度反而变得更快些。 优化下单速度,比之前大幅提升下单速度。 提供了自动选座功能。 订阅须知 订阅后,仅可以获取软件使用,不提供源代码,源

  • 目录 vue项目移动端、PC端适配方案 一、第一步先安装 flexible和 postcss-px2rem(命令行安装) 二、引入lib-flexible 三、修改lib-flexible源码 四、配置postcss-px2rem 五、注意事项 vue项目移动端、PC端适配方案 vue项目移动端、pc端适配方案 lib-flexible 根据屏幕宽度,自动设置html的font-size post

  • 现如今,输入法作为电脑、智能手机输入文字的必备工具,越来越受到众多互联网公司 的重视。在 Windows7 中除集成了微软拼音输入法,还提供了 Tablet  PC 输入面板工具,既 可以手写, 还可以词组联想, 功能很实用。 下面, 我们一起来看看 Tablet PC 输入面板功能。 1 什么是 Tablet PC 平板电脑 ( 英文: Tablet Personal  Computer) ,是

  • vue项目移动端、pc端适配方案 lib-flexible 根据屏幕宽度,自动设置html的font-size postcss-px2rem 自动将px单位转换成rem 一、安装 lib-flexible和 postcss-px2rem npm i lib-flexible -S npm i postcss-px2rem -S 简要介绍这两个包的用途: lib-flexible会为页面根据屏幕自动

  • 成功解决 RecoveryYour PC/Device needs to be repairedThe Boot c onfiguration Data for your PC is missin 目录 解决问题 解决思路 解决方法 解决问题

  • pc端适配包括不同分辨率的适配以及放大缩小网页的适配。 适配方法如下: 1、rem适配。(依据网页根节点字体大小 根据ui设计稿计算缩放比(以1920*1080为例,顶部标题字体大小为25px) <style lang="scss" scoped> //1920*1080为设计稿,头部字体大小为25px $ratio: 1920 / 76.8; // 缩放比 25 // 返回对应屏幕下的re

  • 本方案的核心主要是采用vue-router来实现的。 首先我们需要有pc端和移动端的两种版本的vue文件,然后配置好自己的路由,下面是我的路由配置。 import Vue from "vue"; import VueRouter from "vue-router"; Vue.use(VueRouter); //默认路由 export const routes = [ { path:

  • app和PC通信可实现方式 1、app和PC通过socket通信(需要网络) 2、app和PC通过usb通信(不需要网络) PC之间通过adb控制android手机属于半双工,我们的实现方式是app和PC实现全双工通信。 1、 adb forward 原理概述 如:adb forward tcp:8000 tcp:9000 的意思是,将PC端的 8000 端口收到的数据,转发给手机中的 9000

  • 大多数客户对服务器概念不了解,或者商家不专业,导致大量PC服务器诞生。他们认为,在高配置的PC机上安装相应的应用软件可以代替真正的服务器。比如915G、945G、965G主板、奔腾D、酷睿2处理器、大容量1G以上内存安装在一起组成服务器。长期连续运行往会导致死机、蓝屏、业务正常发展,给客户造成巨大的经济损失。 根据调查,超过70%的县市级网吧使用PC作为服务器。 真正的服务器和PC服务器在硬件上有

  • 目也pc端有适配的需求:目前我们pc项目的设计稿尺寸是宽度1920,高度最小是1080。 适配目标: 1.在不同分辨率的电脑上,网页可以正常显示 2.放大或者缩小屏幕,网页可以正常显示 对于宽度的适配 对于宽度适配: 首先设置html,body{width:100%;overflow-x:hidden;} 然后我们可以把页面分解为背景层(一般宽度都会大于1200px)和内容层(一般宽度都会小于12

  • 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中。当然,文中许多介绍参考了许多零散的文章,本文重点工作在于对相关概念的整理收集,并按相对合理顺序引出后文中对hook技术中的一些难点的解读。                Android平台大多采用了ARM架构的CPU,而ARM属RISC,与X8

  • 今天遇到的一个问题就是:利用vant组件本地开发时,使用van-search发现清除按钮失效。官方解释是:Vant 是一个面向移动端的组件库,因此默认只适配了移动端设备,这意味着组件只监听了移动端的 touch 事件,没有监听桌面端的 mouse 事件。 如果你需要在桌面端使用 Vant,可以引入我们提供的 @vant/touch-emulator,这个库会在桌面端自动将 mouse 事件转换成对

  • PC端、移动端的页面适配及兼容处理 一、关于移动端兼容性 目前针对跨终端的方案,主要分为两大阵营:一套资源Vs两套资源。 第一种是通过响应式或页面终端判断去实现一套资源适配所有终端; 第二种是通过终端判断分别调取两套资源以适配所有终端。 这两种思路我们并不能斩钉截铁的说哪一个更优选,正所谓”合适的才是最好的”。 思路一:通过响应式或页面终端判断去实现一套资源适配所有终端 优势:只需维护一套资源

  • 前言: 使用uniapp做的h5页面,在pc端显示时,发现由于upx单位计算基准值太大,导致页面排班布局错乱 思路: 刚开始发现使用px单位不会导致页面布局混乱,但这对刚开启的项目友好,对已经成型的项目修改成本太高,风险也大,而且px是固定单位,在移动端显然没upx好使; 后来百度好久,发现都没有解决办法,偶然间突发奇想,能不能利用iframe在页面载入前将宽度设置为375px(750upx),来

 相关资料