新月の開発

新月

00b5571a anonymous 2017-08-29 20:28
>>264c82c0
spam.txtの正規表現をコメントアウトすればどうかな?
16b7ce6c anonymous 2017-08-29 20:43
>>00b5571a
コメントアウトした上でlog,run,cache消してもcpu100%張り付きが発生します
そして隣接ノードはあるのに新着が空な謎
gouだと100%張り付きは発生しませんが、やはり新着取れない謎現象が発生しています
5495d7ff anonymous 2017-08-29 20:51
saku,gou共に[[新月の開発]]のみが新着に出る現象を確認
なんだこれ・・・
88dea1d7 anonymous 2017-08-29 21:07
適当な公開ノードのアドレスをinitnode.txtに追加して新着の取得に成功
スレ汚し失礼しました
431a0d22 anonymous 2017-08-29 22:44
一度でもrootで動かすとユーザー権限で何かしら出来なくて死ぬっぽい?
実行権限弄ってrootのみにするか禁止するかした方が安全かも
1af0f3cf anonymous 2017-08-30 06:38
昨晩落ちたgouのログがここで終わってる
リネームしたmessage-en.txtを突っ込んで試してみる
2017/08/29 23:47:34 message.go:55: Asset file/message-en-US.txt not found
2017/08/29 23:47:34 message.go:69: message file was not found
778a3329 anonymous 2017-08-30 07:44
>>431a0d22
logのonwerががrootになって、一般ユーザで追記できないとか。
しらんけど
94c691d5 anonymous 2017-08-30 07:58
>>778a3329
そんな感じ
d6ab2811 anonymous 2017-08-30 08:42
saku暴走するし取得が上手く行かなくなったのでgouだけ稼働中
しかしgouもuser.go:54: bucket not found usertagが大量に残ってるのが気になる
e818c03e anonymous 2017-08-30 09:02
>>d6ab2811
実行環境でgouビルドしても変化なし
まあ落ちなければいいか
4dc4a847 anonymous 2017-08-30 09:11
>>e818c03e
> しかしgouもuser.go:54: bucket not found usertagが大量に残ってるのが気になる
それ適当なスレッドにタグをつけると無くなるよ
代わりにkey not foundというログがでてくるけどなw

gouでレスポンスが遅くなる問題もでてきているので、そのへんも時間が出来たら直したいな
91f363f6 anonymous 2017-08-30 09:44
>>4dc4a847
なるほどー
0.2.7とmasterを同時に動かしてるけど、今日は問題は起きてません
前に落ちまくってたのはroot権限云々が関係してそう
b4a15c23 anonymous 2017-08-30 13:17
gou0.2.7が落ちたのを確認。昨日もYandexbotの後だった
message.go:55: Asset file/message-en-US.txt not found
unstableは問題なし
7713e464 anonymous 2017-08-30 18:46
>>b4a15c23
そのバグは、このコミットで修正されてます。
https://github.com/shingetsu-gou/shingetsu-gou/commit/527594965d4af7828083d820319f7b60ef0dfaef
277ad7b0 anonymous 2017-09-20 14:36
朔は使ったことないから分からないけど、合って保持スレ数多くなるとめちゃくちゃ重くならない?
トップページ表示もかなり時間掛かったりとか
何がボトルネックになっているんだろう
bb098af7 anonymous 2017-09-22 19:36
ブラウザからトップページにアクセスすると端末に「TypeError: 'NoneType' object is not subscriptable」って出てブラウザには何も表示されないんだけど何故
朔の最新版使ってる
a1a873de anonymous 2017-09-22 19:40
File "~/saku-release-4.8.0/shingetsu/gateway.py", line 153, in __init__
    'lang': self.message['lang'],
a88d6984 anonymous 2017-09-22 20:18
cdの問題だった
8015ae41 anonymous 2017-09-23 12:09
朔ってmoonlight機能廃止されたのか
残念
e3967852 anonymous 2017-09-23 13:23
moonlightと同じような動作するブックマークレット作った。先頭にjavascirpt:付ければ動くよ
# 元ソース
(async()=>{
let res=await fetch("/gateway.cgi/csv/recent/title,size");
let text=await res.text();
let list=text.split("\n").map(p=>p.split(",")).filter(x=>x.length===2).filter(x=>x[1]==="0\r").map(x=>x[0]);
console.log(list.length);
for(let name of list){
        await fetch("/thread.cgi/"+encodeURIComponent(name)+"?search_new_file=yes");
}
})()
# babelトランスパイル版
"use strict";

(function _callee() {
        var res, text, list, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, name;

        return regeneratorRuntime.async(function _callee$(_context) {
                while (1) {
                        switch (_context.prev = _context.next) {
                                case 0:
                                        _context.next = 2;
                                        return regeneratorRuntime.awrap(fetch("/gateway.cgi/csv/recent/title,size"));

                                case 2:
                                        res = _context.sent;
                                        _context.next = 5;
                                        return regeneratorRuntime.awrap(res.text());

                                case 5:
                                        text = _context.sent;
                                        list = text.split("\n").map(function (p) {
                                                return p.split(",");
                                        }).filter(function (x) {
                                                return x.length === 2;
                                        }).filter(function (x) {
                                                return x[1] === "0\r";
                                        }).map(function (x) {
                                                return x[0];
                                        });

                                        console.log(list.length);
                                        _iteratorNormalCompletion = true;
                                        _didIteratorError = false;
                                        _iteratorError = undefined;
                                        _context.prev = 11;
                                        _iterator = list[Symbol.iterator]();

                                case 13:
                                        if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
                                                _context.next = 20;
                                                break;
                                        }

                                        name = _step.value;
                                        _context.next = 17;
                                        return regeneratorRuntime.awrap(fetch("/thread.cgi/" + encodeURIComponent(name) + "?search_new_file=yes"));

                                case 17:
                                        _iteratorNormalCompletion = true;
                                        _context.next = 13;
                                        break;

                                case 20:
                                        _context.next = 26;
                                        break;

                                case 22:
                                        _context.prev = 22;
                                        _context.t0 = _context["catch"](11);
                                        _didIteratorError = true;
                                        _iteratorError = _context.t0;

                                case 26:
                                        _context.prev = 26;
                                        _context.prev = 27;

                                        if (!_iteratorNormalCompletion && _iterator.return) {
                                                _iterator.return();
                                        }

                                case 29:
                                        _context.prev = 29;

                                        if (!_didIteratorError) {
                                                _context.next = 32;
                                                break;
                                        }

                                        throw _iteratorError;

                                case 32:
                                        return _context.finish(29);

                                case 33:
                                        return _context.finish(26);

                                case 34:
                                case "end":
                                        return _context.stop();
                        }
                }
        }, null, undefined, [[11, 22, 26, 34], [27,, 29, 33]]);
})();
42380116 anonymous 2017-09-23 13:30
babelトランスパイル版ミスった
こっち
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var _this = this;
(function () { return __awaiter(_this, void 0, void 0, function () {
    var res, text, list, _i, list_1, name;
    return __generator(this, function (_a) {
        switch (_a.label) {
            case 0: return [4 /*yield*/, fetch("/gateway.cgi/csv/recent/title,size")];
            case 1:
                res = _a.sent();
                return [4 /*yield*/, res.text()];
            case 2:
                text = _a.sent();
                list = text.split("\n").map(function (p) { return p.split(","); }).filter(function (x) { return x.length === 2; }).filter(function (x) { return x[1] === "0\r"; }).map(function (x) { return x[0]; });
                console.log(list.length);
                _i = 0, list_1 = list;
                _a.label = 3;
            case 3:
                if (!(_i < list_1.length)) return [3 /*break*/, 6];
                name = list_1[_i];
                return [4 /*yield*/, fetch("/thread.cgi/" + encodeURIComponent(name) + "?search_new_file=yes")];
            case 4:
                _a.sent();
                _a.label = 5;
            case 5:
                _i++;
                return [3 /*break*/, 3];
            case 6: return [2 /*return*/];
        }
    });
}); })();
0fc0af8f anonymous 2017-09-23 13:42
gistにうpした
https://gist.github.com/kgtkr/8ac0111105219082737a26bf77ff9029
d0baa89d anonymous 2017-09-23 13:49
>>92da2a52
ばーじょんあっぷ
https://pastebin.com/TzU5TbXT
81f8357d anonymous 2017-09-23 14:26
>>d0baa89d
乙です
02792af6 anonymous 2017-09-23 20:40
合から朔に乗り換えたけどめちゃくちゃ軽い
合の方が軽いと思ってたのに意外
ebfd86eb anonymous 2018-09-30 00:17
合はGolangだからC並みの早さのはずなんだけどなぁ

朔の公開ノード設置したけどログでは外部のノードにGETしにいってるようだが
どうも新着に板は現れない
いろいろ調査中...
b3116d51 anonymous 2018-09-30 21:33
>>ebfd86eb
もう一度Cloneし直したら普通に建てれた
同期前にスレを建てると崩れるみたいだ要注意
253c7ae2 anonymous 2018-10-01 11:46
少し昔のスタイルだがbootstrapのおかげで古臭くはない
P2PをGETで実現するのはどこでも動きそうな良いアイデアだと思う
86a447b1 anonymous 2018-10-01 16:23
ダンディ坂野「ゲッツ‼️」
6910d6ed anonymous 2018-10-01 16:39
ひあうぃーごー(Golang
5c966174 anonymous 2018-10-26 00:48
 _____   _                  _____       _   _                
|_   _| | |                |  __ \     | | | |                
  | |   | | _____   _____  | |__) |   _| |_| |__   ___  _ __  
  | |   | |/ _ \ \ / / _ \ |  ___/ | | | __| '_ \ / _ \| '_ \
 _| |_  | | (_) \ V /  __/ | |   | |_| | |_| | | | (_) | | | |
|_____| |_|\___/ \_/ \___| |_|    \__, |\__|_| |_|\___/|_| |_|
                                   __/ |                      
                                  |___/                      
ぱいそんをすこれ
99a4926f anonymous 2019-04-19 13:20
新月のこれからの進化に期待しています。
暗号通貨で匿名性にフォーカスした技術が新しい暗号通貨を産んだりしているので、
「こういう技術の進歩がP2P掲示板にも生かされたらいいなぁ…」と棚に向かってぼたもちが落ちてくるのを待つ日々です。
あっちはお金が絡むので必死度が違いますね。

【有望プロジェクト紹介】③ MimbleWimble Protocol (Beam/Grin)
https://medium.com/crypto-reviews-by-ryu/%E6%9C%89%E6%9C%9B%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E7%B4%B9%E4%BB%8B-%E2%91%A2-mimblewimble-protocol-635898807b16
f5090d4e anonymous 2019-04-19 21:08
暗号通貨なら開発者儲かるけど
新月いくら開発しても金にならんから
集まらんわな

残念ながら
d4fa00a1 anonymous 2019-04-19 22:10
暗号通貨採用してるzeronetは開発者に結構な額の寄付集まってるな
a7c12fcf anonymous 2019-04-20 21:00
一開発者だけど趣味に金いらんし
e6f0a3d8 anonymous 2019-04-20 21:53
金が絡むと金目野郎も増えるけど
優秀な開発者が集中して開発してくれるのも事実

ただ新月にはそれは望まんが
1c459642 anonymous 2019-04-21 04:17
お金が絡まないとなるとそれはそれでおかしな方が集って崩壊してしまう事もある事実
506db3a1 anonymous 2019-04-21 21:24
要するに運営が適切なら金は関係無いという事だな
6eb13a06 anonymous 2019-04-22 01:06
この運営管理する人間がいらない掲示板ってコンセプトのシステムは適切に運営されてるよな
8561fe49 anonymous 2019-05-21 20:08
https://www.python.org/dev/peps/pep-0594/ Python3.10から不要と判断された標準ライブラリが削除されるらしい。新月に影響あるが逆さの話だから頭においとけばいい。
https://github.com/shingetsu/saku/blob/master/shingetsu/gateway_cgi.py
cgiどうするかね
b222f64d anonymous 2019-05-21 21:41
なぜCGIがいらない子扱いされるのか?
主観まんまんだし却下されるかもしれんな
4c5287dd anonymous 2019-05-21 23:48
CGI自体に非対応にしてしまうんはさすがに自殺行為だと思う
ここで日本語で言っても向こうへ届くわけでもないが・・・
8f898008 anonymous 2019-05-22 11:25
プログラムを全く知らない人間が横から口出しして申し訳ないけど、自動翻訳読む限り、
より効率的な新しいプロセスで処理できる、って事ではないの?
(書き直す人に負担を押し付ける形になって申し訳ないけど)
> cgiモジュールは、Common Gateway Interface(CGI)スクリプト用のサポートモジュールです。
> すべての着信要求は新しいプロセスで処理されるため、CGIは非効率的と見なされます。
> PEP 206では、モジュールの設計が不十分であり、修正が不可能に近いと考えています 。
> 何人かの人々が、 cgi.parse_qs()のような機能のためにcgiモジュールを保持するか、 cgi.escape()を別のモジュールに移動することを提案しました。
> 関数cgi.parse_qsとcgi.parse_qslはしばらくの間非推奨であり、実際にはurllib.parse.parse_qsとurllib.parse.parse_qslのエイリアスです。
> 関数cgi.quoteは、安全なデフォルト値を持つhtml.quoteを支持して非推奨になりました。

あとは3.9のまま2026年まで引っ張るか。
パーサーという仕組みを使っている場合は3.8じゃないとダメっぽいけど…
gateway_cgi.pyにはparseって単語が含まれてないからセーフ?
> Python 3.9から、非推奨のモジュールはDeprecationWarningを発行し始めます。
> parserモジュールは削除され、潜在的に新しいモジュールと置き換えられます。
> 他のすべての非推奨モジュールは完全にサポートされており、Python 3.9がその寿命を迎えるまでセキュリティアップデートを受け取ります。
> Python 3.9.0は​​3.8.0から約18か月後(2021年4月?)にリリースされ、おそらくリリース後5年間サポートされるでしょう。
> Python 3.9の推定EOLは2026年です。

素人考えでごめん。
6535657c anonymous 2019-05-22 18:24
LightCGIHTTPServerとかかぶせてるし大丈夫
437d124b anonymous 2019-05-23 07:39
cgiモジュールはCGIでよく使う機能が集まった便利なやつで、
機能が多すぎて肥大化してると思ってたから、廃止もやむないかな。
parse系のように代替機能があれば置き換える。
cgi.FieldStorage なんかは代替が用意されないかもしれないので、
そういうのは現行のをコピればよさそう。
f1e6a963 anonymous 2019-05-23 07:41
あとLightCGIHTTPServerも今となっては古いので
mchと同じwsgirefに乗り換えるべきだとは数年前から思ってはいるけど、
全くやる気が出ないので放置している。
172f1a12 anonymous 2019-06-07 01:24
何故にjinja2とmarkupsafeをソースに織り込んでいるのですか?
pipでのインストールで良さそうに感じるのだが
fbc653fe anonymous 2019-06-07 09:56
>>172f1a12
ダウンロードしてダブルクリックしたら実行できる、という手軽さのため。
752ea7b8 anonymous 2019-06-07 13:47
>>fbc653fe
なるほど、了解しました。
65413c93 anonymous 2019-07-29 19:08
Expose local servers to the internet
https://serveo.net/

こういうの使えばポト0マシンでも
新月使える?

Top of this page. | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 old>>

limit: 1536KB

新月

(新月の開発/1730/3.5MB)

Powered by shinGETsu.