Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master into Deploys #1391

Merged
merged 36 commits into from
Nov 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b14d5da
Thank you Murage Martin @murageyun for donating!!!
amark Apr 7, 2023
0cb9706
Fix opt.s3.fakes3 parsing issue (#1318)
ritchia1 May 12, 2023
7f6a0b2
Support variable number of auth retry attempts through opt.retries (#…
ritchia1 May 21, 2023
f882b86
Thanks Jason Stallings @octalmage !!!
amark May 27, 2023
1862fb6
Remove unused imports (#1337)
atjn Oct 18, 2023
0251de1
Update README.md
amark Oct 19, 2023
96b1402
yay format change
amark Nov 10, 2023
5d3cbac
Merge branch 'master' of http://github.com/amark/gun
amark Nov 10, 2023
efb2552
encode objects
amark Nov 17, 2023
5ff33b7
WS ws.path fix (#1343)
bmatusiak Nov 25, 2023
6dfaaf2
add one click deploy to readme (#1342)
jbgh Nov 25, 2023
c440a7c
update src/index (#1254)
bmatusiak Dec 15, 2023
2b4f750
is ??? this a MVP of book & rad ???? thanks to @rogowski
amark Dec 29, 2023
dc5f90a
Merge branch 'master' of http://github.com/amark/gun
amark Dec 29, 2023
d7f1947
book & rad APIs stabilizing
amark Jan 16, 2024
78a40da
RAD & Book promoted! + buggy example: test/rad/book.html
amark Jan 16, 2024
3688ba1
bump path
amark Jan 16, 2024
203bd40
cleaned up Book results & sorting & caching
amark Jan 17, 2024
e07c9b2
sea blobs! (#1353)
bmatusiak Jan 17, 2024
7cb337c
add a way to select stats file from url (#1351)
bmatusiak Jan 17, 2024
5c52df2
react-native detection, and load needed shims (#1349)
bmatusiak Jan 17, 2024
638c2c3
have unbuild function wrap to prevent scope leaks & allow RETURN hehe…
amark Jan 17, 2024
7eb6d38
quick-fix (#1355)
bmatusiak Jan 17, 2024
61df63c
Fix SEA certificate verification, allow multiple pubs (#1358)
mimiza Feb 5, 2024
3bd8098
Create SECURITY.md (#1364)
SimardeepSingh-zsh Feb 5, 2024
3070627
... works (#1357)
bmatusiak Feb 5, 2024
e584906
Loading fix (#1356)
bmatusiak Feb 5, 2024
c47800f
update SECURITY.md file and change the versions to 0.2020.x (#1365)
SimardeepSingh-zsh Feb 7, 2024
7a2767a
webrtc accept getUserMedia streams as peer
amark Mar 11, 2024
faff9ef
Merge branch 'master' of http://github.com/amark/gun
amark Mar 11, 2024
1c095b1
Check atom exists in graph when deciding to read from disk (#1371)
mblaney Apr 4, 2024
03735dc
fix: ERROR: Radisk needs `store.put` interface (#1374)
aheissenberger Apr 15, 2024
7cc4cce
Update STUN servers (#1381)
carlin978 Jul 23, 2024
90b8895
universal notification system
amark Nov 24, 2024
5305f01
Merge branch 'master' of http://github.com/amark/gun
amark Nov 24, 2024
9a0e259
Merge branch 'deploys' into master
amark Nov 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p id="readme"><a href="https://gun.eco/"><img width="40%" src="https://cldup.com/TEy9yGh45l.svg"/></a><img width="50%" align="right" vspace="25" src="https://gun.eco/see/demo.gif"/></p>

[![](https://data.jsdelivr.com/v1/package/gh/amark/gun/badge?style=rounded)](https://data.jsdelivr.com/v1/package/gh/amark/gun/stats)
[![](https://data.jsdelivr.com/v1/package/npm/gun/badge)](https://www.jsdelivr.com/package/npm/gun)
![Build](https://github.com/amark/gun/actions/workflows/ci.yml/badge.svg)
[![Gitter](https://img.shields.io/gitter/room/amark/gun.js.svg)](http://chat.gun.eco)

Expand Down Expand Up @@ -42,7 +42,7 @@ GUN is *super easy* to get started with:
> **Note:** If you don't have [node](http://nodejs.org/) or [npm](https://www.npmjs.com/), read [this](https://github.com/amark/gun/blob/master/examples/install.sh) first.
> If the `npm` command line didn't work, you may need to `mkdir node_modules` first or use `sudo`.

- An online demo of the examples are available here: http://gunjs.herokuapp.com/
- An online demo of the examples are available here: http://try.axe.eco/
- Or write a quick app: ([try now in a playground](https://jsbin.com/kadobamevo/edit?js,console))
```html
<script src="https://cdn.jsdelivr.net/npm/gun/gun.js"></script>
Expand Down Expand Up @@ -156,7 +156,8 @@ Thanks to:
<a href="https://github.com/JacobMillner">Jacob Millner</a>,
<a href="https://github.com/b-lack">Gerrit Balindt</a>,
<a href="https://github.com/gabriellemon">Gabriel Lemon</a>,
<a href="https://github.com/murageyun">Murage Martin</a>
<a href="https://github.com/murageyun">Murage Martin</a>,
<a href="https://github.com/octalmage">Jason Stallings</a>
</p>

- Join others in sponsoring code: https://www.patreon.com/gunDB !
Expand Down Expand Up @@ -260,6 +261,11 @@ You can now safely `CTRL+A+D` to escape without stopping the peer. To stop every

Environment variables may need to be set like `export HTTPS_CERT=~/cert.pem HTTPS_KEY=~/key.pem PORT=443`. You can also look at a sample [nginx](https://gun.eco/docs/nginx) config. For production deployments, you probably will want to use something like `pm2` or better to keep the peer alive after machine reboots.

### [Dome](https://www.trydome.io/)
[Deploy GUN in one-click](https://app.trydome.io/signup?package=gun) with [Dome](https://trydome.io) and receive a free trial:

[![Deploy to Dome](https://trydome.io/button.svg)](https://app.trydome.io/signup?package=gun)

### [Heroku](https://www.heroku.com/)

[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/amark/gun)
Expand Down
47 changes: 47 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Security Policy

## Introduction

Security is our top priority. We are committed to ensuring that our project is as secure as possible for everyone who uses it. This document outlines our security policy and procedures for dealing with security issues.

## Supported Versions

We provide security updates for the following versions of our project:

| Version | Supported |
| ------- | ------------------ |
| 0.2020.x| :white_check_mark: |
| < 0.2020| :x: |

## Reporting a Vulnerability

If you discover a vulnerability, we would like to know about it so we can take steps to address it as quickly as possible.

### Report Format

When reporting vulnerabilities, please include the following details:

- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact if left unaddressed
- Suggested mitigation or resolution if any

### Response Time

We aim to confirm the receipt of your vulnerability report within 48 hours. Depending on the severity and complexity of the issue, we strive to investigate the issue and provide an initial response within a week.

### Disclosure Policy

If the vulnerability is confirmed, we will work on a fix and plan a release. We ask that you do not publicly disclose the issue until it has been addressed by us.

## Security Practices

We follow industry-standard security practices, including regular audits of the services and features we provide, to maintain the trust of our users.

## Security Updates

We will communicate any security updates through our standard communication channels, including our project's release notes and official website.

## Conclusion

We greatly value the work of security researchers and believe that responsible disclosure of vulnerabilities is a valuable contribution to the security of the Internet. We encourage users to contribute to the security of our project by reporting any security-related issues to us.
5 changes: 4 additions & 1 deletion browser.js
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
module.exports = require('./gun.js')
// if(!(typeof navigator == "undefined") && navigator.product == "ReactNative"){
// require("./lib/mobile.js");
// }
module.exports = require('./gun.js');
38 changes: 38 additions & 0 deletions examples/basic/meet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<!DOCTYPE html>

<center>must press play or unmute on new videos to accept meeting</center>
<center id="videos">
<video id="me" width="100%" controls autoplay playsinline muted></video>
</center>
<center>Stream <select id="select"><option id="from">from</option></select></center>

<script src="../jquery.js"></script>
<script src="../../../gun/gun.js"></script>
<script src="../../../gun/sea.js"></script>
<script src="../../../gun/lib/webrtc.js"></script>

<script>;(async function(){
streams = {}, gun = Gun(location.origin + '/gun'); //gun = GUN();
mesh = gun.back('opt.mesh');

(await (me.stream = navigator.mediaDevices).enumerateDevices()).forEach((device,i) => {
if('videoinput' !== device.kind){ return }
var opt = $(from).clone().prependTo('select').get(0);
$(opt).text(opt.id = device.label || 'Camera '+i);
opt.value = device.deviceId;
});

$('select').on('change', async eve => { $(from).text('Off'); // update label
if('Off' == select.value){ return me.srcObject.getTracks()[0].stop() }
mesh.hi(me.srcObject = await me.stream.getUserMedia({ audio: true,
video: (select.value && {deviceId: {exact: select.value}}) || {facingMode: "environment"}
}));
});

gun.on('rtc', async function(eve){ var ui, src;
console.log("?RTC?", eve.peer && eve.peer.connectionState, eve);
if(!(src = eve.streams)){ return }
ui = $('#v'+(src=src[0]).id).get(0) || $(me).clone().attr('id', 'v'+src.id).prependTo('#videos').get(0); // reuse or create video element
ui.srcObject = src;
});
}());</script>
1 change: 1 addition & 0 deletions examples/stats.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
<script src="./jquery.js"></script>
<script src="./smoothie.js" charset="utf-8"></script>
<script>
if(window.location.search){url.value = window.location.search.split("?")[1]}
var up, br = 0, bt = 0, tmp;
var fetchData = async function(){
// fetch the data from server
Expand Down
Loading
Loading