Giter VIP home page Giter VIP logo

erblocker / yrssf Goto Github PK

View Code? Open in Web Editor NEW
154.0 8.0 38.0 15.7 MB

一个分布式(p2p)云教学/云课堂/直播平台系统CMS,睿易派的开源替代品

License: GNU General Public License v3.0

C++ 10.31% Makefile 0.66% Lua 0.25% Shell 0.21% C 76.02% HTML 1.02% CMake 0.10% Python 0.07% Roff 0.04% Objective-C 4.45% SAS 0.02% Pascal 0.29% DIGITAL Command Language 0.24% Module Management System 0.01% Perl 0.04% JavaScript 6.07% CSS 0.19% PHP 0.01% GLSL 0.01% Perl 6 0.01%
teach cryptography p2p teachers teaching-tool education teacher teaching educational-software school school-project school-education learning cloud-computing cloud

yrssf's Introduction

YRSSF(Yun'er Study System Framework 或者 Shuang Si Ruiyi Famework),这是一个p2p架构的 云教学系统/直播平台框架(CMS),目的是开发一个睿易云的免费替代品。
本项目遵守GPL-3.0协议
如需用于商业用途等需要改协议,请联系qq

  • 2577199574
  • 3068750058

特点:

  • 基于UDP协议,并且可以通讯加密(虽然是使用web界面来管理,并且目前不支持https……)
  • 内置内网穿透(废话,不然怎么P2P)
  • 使用“区块树”存储数据
  • 使用“数(fang)字(mao)证书”来验证用户身份
  • 数据库为LevelDB,但是使用LUA开发时可以用runsql来调用sqlite
  • 内置锁机(#喷)(没办法,这是校内云教学软件……)
  • 操作系统兼容POSIX,比如Android,Linux。
  • 可通过web管理(但是不能https)
  • 支持cgi和fastcgi(可以直接移植php项目什么的了)
  • 目前尚不支持Windows,可通过VNC来使用Windows程序

文档:

APIs

警告:

lock目录下的东西极度危险!极度危险!极度危险!重要的事说三遍
经测试,在原版linux下可导致百度等常见网站DNS解析错误,并且会自动关闭大多数端口
在android下会同时卸载包括蓝牙在内的大多数系统app,并且结束未允许的用户app的进程(具体效果见睿易派)
如果不需要限制设备功能(比如说防止学生用平板电脑打游戏……),请不要在lock目录里面乱make,否则后果很严重……
如果真的make了,在里面make clean一下可以解除锁机效果
此工具请勿用于非法用途,否则后果自负

编译:

Linux:

下载并编译:

$ git clone https://github.com/cgoxopx/YRSSF
或者是$ git clone http://git.oschina.net/cgoxopx/YRSSF(如果网速慢的话)
$ cd YRSSF && make
安装人工智能组件(可省略,因为一般人用不到,而且atulocher项目进展非常缓慢,并且可能会用到一些硬件特性)
$ make atulocher
$ cd core && make
$ cd ../launcher && make
$ cd ../build

让系统重新生成密钥:

$ rm data/cert.txt生成后第一行是公钥,第二行是私钥

重新生成数据库:

$ rm data/yrssf.db

添加信任的公钥:

$ echo "public key" >> data/allowcert.txt
public key 换成可能要连接的服务器公钥

设置用户名:

$ vim data/user.txt

最后运行项目:

$ ./launcher

结束进程(如果需要的话):

$ killall YRSSF launcher daemon
launcher和daemon会相互保护,单独结束其中任意一个都会被另一个复活

Android编译:

请直接使用cmake

插件开发:

编译完成后,/build 整个目录可以直接复制出来在其他位置执行
/build/static 为www目录(存放网页以及cgi文件)
/build/live 下的文件为直播的管道文件
/build/static 目录支持cgi文件或者php文件,但是使用cgi文件时请注意:如果cgi程序有错误,http服务器关闭时会直接Segmentation fault(这似乎是cgi的通病)

鸣谢

  • lua
  • lua-cjson
  • leveldb
  • zlib
  • sqlite
  • cppjieba
  • studyHttpd
  • tinyhttpd
  • SDL

最后还是要感谢睿易派

yrssf's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yrssf's Issues

戳这里

你的意思是说,睿易派激活了knox后就有su权限了?
不然怎么chmod 000。。。。。
还有,通过setting name=可以更改设置吗?
如果可以,具体怎么设。

applist.txt的编辑方法

每行一个
格式如下:
<Application package=\"app包名\" version=\"版本号\" title=\"标题\" action=\"com.jiongji.andriod.card.activity.LoadingPageActivity\" icon=\"\" url=\"下载地址\"/>\r\n\t\t
其实就是实体化的xml格式。其中任何一个属性都可以删除掉

about ry system

ry的系统并没有root,
那个iptable是给knox用的,
我在data分区下找到了这个,
"iptables -F",
"iptables -X",
"iptables -t nat -F",
"iptables -t nat -X",
"iptables -t mangle -F",
"iptables -t mangle -X",
"iptables -P INPUT ACCEPT",
"iptables -P FORWARD ACCEPT",
"iptables -P OUTPUT ACCEPT",
"iptables -A OUTPUT -p udp --dport 53 -j ACCEPT",
"iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT",
"iptables -A INPUT -m pkttype --pkt-type broadcast -j ACCEPT",
"iptables -A OUTPUT -p udp --dport 123 -j ACCEPT",
"iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT",
"iptables -A OUTPUT -p tcp --sport 8081 -j ACCEPT",
"iptables -A OUTPUT -p tcp --sport 8011 -j ACCEPT",
"iptables -A OUTPUT --dport 5554 -j ACCEPT",
"iptables -A OUTPUT --dport 5555 -j ACCEPT",
"iptables -A OUTPUT -d 121.14.30.153 -j ACCEPT",
"iptables -A OUTPUT -d rp.crasheye.cn -j ACCEPT",
"iptables -A OUTPUT -d pzhqz.lexuewang.cn -j ACCEPT",
"iptables -A OUTPUT -d pzhqz.lexuewang.cn -j ACCEPT",
"iptables -A OUTPUT -d webservice.myi.cn -j ACCEPT",
"iptables -A OUTPUT -d updates.myi.cn -j ACCEPT",
"iptables -A OUTPUT -p icmp -j ACCEPT",
"iptables -A OUTPUT -p tcp --dport 50007 -j ACCEPT",
"iptables -A OUTPUT -p tcp --dport 50008 -j ACCEPT",
"iptables -A OUTPUT -d www.lexuewang.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "www.lexuewang.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "www.lexuewang.cn" -j ACCEPT",
"iptables -A OUTPUT -d www.baicizhan.com -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "www.baicizhan.com" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "www.baicizhan.com" -j ACCEPT",
"iptables -A OUTPUT -d e.myi.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "e.myi.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "e.myi.cn" -j ACCEPT",
"iptables -A OUTPUT -d www.myi.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "www.myi.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "www.myi.cn" -j ACCEPT",
"iptables -A OUTPUT -d pzhqz.lexuewang.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "pzhqz.lexuewang.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "pzhqz.lexuewang.cn" -j ACCEPT",
"iptables -A OUTPUT -d ziyuan1.myi.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "ziyuan1.myi.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "ziyuan1.myi.cn" -j ACCEPT",
"iptables -A OUTPUT -d ziyuan2.myi.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "ziyuan2.myi.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "ziyuan2.myi.cn" -j ACCEPT",
"iptables -A OUTPUT -d ziyuan3.myi.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "ziyuan3.myi.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "ziyuan3.myi.cn" -j ACCEPT",
"iptables -A OUTPUT -d frog.yuantiku.com -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "frog.yuantiku.com" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "frog.yuantiku.com" -j ACCEPT",
"iptables -A OUTPUT -d www.yuantiku.com -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "www.yuantiku.com" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "www.yuantiku.com" -j ACCEPT",
"iptables -A OUTPUT -d 119.29.29.29 -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "119.29.29.29" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "119.29.29.29" -j ACCEPT",
"iptables -A OUTPUT -d planet.yuantiku.com -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "planet.yuantiku.com" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "planet.yuantiku.com" -j ACCEPT",
"iptables -A OUTPUT -d ytk.fbcontent.cn -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "ytk.fbcontent.cn" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "ytk.fbcontent.cn" -j ACCEPT",
"iptables -A OUTPUT -d fanyi.baidu.com -j ACCEPT",
"iptables -A OUTPUT -m string --algo bm --string "fanyi.baidu.com" -j ACCEPT",
"iptables -A FORWARD -m string --algo bm --string "fanyi.baidu.com" -j ACCEPT",
"iptables -P INPUT ACCEPT",
"iptables -P OUTPUT DROP",
"rename /system/app/Gallery2.apk /system/app/Gallery2.apk1",
"rename /system/app/Calculator.apk /system/app/Calculator.apk1",
"su -c "pm uninstall com.sec.android.fotaclient"",
"su -c "pm uninstall com.android.bluetooth""
不过那个su我还是没搞懂,
我的pad已经root了。。。。

这个。。。。。。。

直接编辑index.xml/text.xml不就行了吗?
不过,,,,,,remove package=com.netspace.myipad会怎么样?

关于更新的解决方法

你知道账号锁怎么破吧!
就是把/mnt/sdcard/Android/data/.com.netspace.myipad.config给删了,
再创建一个同名文件夹,里面丢一点东西,然后就没有账号锁了,
目前我们有两个域名解析到125.66.251.66上的,
是:pzhqz.chainsx.cn和pzhqz.lexewang.cn,
这样,
我们就有密钥了,
然后设置相应的httpd开启ssl,
使用我们的密钥,
一切OK

!!!!!!!!!!!!

关于那个更新的问题,
我觉得你想办法在YRSSF使用的httpd里加ssl,
再反代资源端口,切换账号,
应该没什么问题
还有其他的。。。。。

关于YRSSF安卓项目

飞哥,我最近在联系人帮你做YRSSF的安卓版,请近期内准备好相关工作

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.